数据库概述

1.数据库系统的组成

“数据库系统”,顾名思义,就是计算机系统中加入数据库后的系统。在组成上由数据库、操作系统、数据库管理系统、开发工具、数据库应用系统、人员这几部分组成,如图1-1所示。
  图1-1  数据库系统组成图

             图1-1  数据库系统组成图

1.1 数据库

数据库是长期存储在计算机上的有组织的有联系的数据的集合,就如同一个专门存储数据的仓库一样,特别注意的是数据库中不仅存储数据,还要存储数据之间的关系。

1.2 数据库管理系统

数据库管理系统是专门用来管理维护数据库的,所有对于数据库的操作都必须通过数据库管理系统提供的接口进行操作,不能跨过数据库管理系统对数据库进行操作。数据库管理系统就好像一个封闭仓库的操作室,这个仓库(数据库)和外界进行交互的唯一通道就是这个操作室,操作室里面的控制台上有各种不同功能的控制装置,外界要对仓库进行某样操作的话,就只能通过这个操作室里面的控制台间接控制这个仓库(数据库),同时,这个操作室还拥有对于仓库的监视装置,能对仓库的安全进行维护。

1.3 数据库应用系统

数据库应用系统就是应用数据库技术对数据进行管理使用的系统,简单点说,一个拥有数据库的软件就可以称为数据库应用系统。比如某个超市的收银台管理软件。

1.4 人员

数据库系统中的人员主要分为用户、数据库管理员、数据库开发人员,数据库管理人员的职责主要为维护管理数据库的运行。其实数据库开发人员、数据库管理员的角色是经常重合的。

2.数据库的体系架构

数据库的体系结构就是著名的三级体系结构,即外模式、内模式、模式,如图2-1所示。
数据库系统体系架构

                  图2-1 数据库系统的三级模式

如图2-1所示,该三级模式由外模式、模式、内模式组成,其中模式又称为概念模式,内模式又称为物理模式或存储模式,外模式又称为用户模式或子模式。下面分别对三种模式进行介绍。

2.1 外模式

外模式又称为用户模式或者子模式,这一层一般是应用程序在使用时比较关心的,应用程序使用的就是外模式,即这个数据库关系中的局部关系。一个数据库可以有多个外模式。对于外部的应用程序而言,通常想获取的是数据库关系的部分有用信息,也就是说要获取局部的数据关系,所以外模式就定义用来获取该局部数据关系,此时外模式就好像一个窗口一样,只获取指定的局部关系信息,对于其他的关系信息进行了隐蔽,起到了数据保护的作用。打个比方,数据库里面存储了学生的信息表,课程的信息表、教师的信息表。当某个应用需要检索数据库中某个学生的选课信息时,实际上只用到了学生表和课程表,教师表就没有必要暴露,此时定义一个使用学生表和课程表查询学生选课信息的外模式就可以直接供这个程序使用,起到了保护数据的作用,另外,这也相当于定义了一个权限,即使用该模式的应用程序只能做上面指定的操作,只能检索到规定的信息。

2.2 模式

模式是三级架构中的中间一层,又称为逻辑模式或者概念模式,是对数据的全部关系存储,针对的是所有数据关系,而不是局部数据关系。这一层的工作内容包括记录的定义,记录组成的数据项的定义,数据项的名称、范围定义,记录间关系的定义等。一个特定的数据库只能有一个模式。

2.3 内模式

内模式又称为存储模式或者物理模式,主要涉及数据以怎么的方式进行存储,比如顺序存储、b+树存储、哈希存储等。

2.4 两种映射

经过上面的介绍,可以发现三级模式之间的差别其实比较大,外模式主要面向应用程序,关心的是局部数据关系;模式主要面向的是整个数据库,涉及整个数据库的数据关系;内模式主要面向的是数据的存储,关心的是数据怎样进行存储。因此如果想在不同模式之间进行切换,实际上是比较麻烦的,所以为了能够方便的在三级模式之间进行转换,定义了两种映射,即外模式/模式、模式/内模式映射,方便不同模式之间的协调切换。打个比方,如果模式发生了变化,比如增加了一些数据项或者干脆改变了外模式中使用到的一些数据项,如果没有外模式/模式映射,则为了维持外部应用的功能不变,只能跟着修改外部应用程序,这样就比较麻烦,但是如果有了外模式/模式映射,则只需在这里做相应修改,就可以维持原有的应用程序不变。模式/内模式也是一样,如果内模式的存储方式变了,比如由顺序存储变为哈希存储,则如果没有模式/内模式映射的话,就需要修改模式定义,比较麻烦,但是如果有了这个模式,则只需对应做这个模式的修改,便可以维持原有的情况不变,确实比较方便。

3.数据库的两大模型

数据库的建立实际上是对现实世界的信息建模,现实世界中的信息要存储进数据库需要经过两个阶段:1.现实时间到概念世界 2.概念世界到机器世界 第一个阶段是对现实世界中的数据进行建模抽象,将他们表示成抽象的实体和他们之间的联系,后一个阶段是对已经建立的抽象模型进行具化,将其存储进行计算机数据库中。因此,对应这两个阶段,就存在2种模型,概念模型对应第一个阶段,数据模型对应第二个阶段

3.1 概念模型

概念模型就是将现实世界中的数据信息进行抽象,将这些信息表示为实体及其联系的模型。这个过程类似于c++等面向对象的抽象过程,将真实世界中的事物表示为一个个的类。用于描述概念模型的最常用的模型称为E-R模型(实体概念模型),具体概念参考E-R模型章节。

3.2 数据模型

数据模型是将概念模型转换为数据库中数据关系的模型,数据模型包括数据结构、操作、完整性约束条件。按照类型可分为层次模型、网状模型、关系模型。层次模型和网状模型虽然解决了数据共享和存储的问题,但是在对数据进行操作时,还是需要指定数据操作的路径,比较麻烦。但是关系模型就只需要关心对数据做什么,而不关心怎么做且不需要指定数据操作的路径,因此比较方便

您的赞助将是我不断创作的最大动力,谢谢支持!!!
如果您觉得我的文章对您有帮助,可以通过以下方式进行赞赏:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值