购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 数据库系统的体系结构

从数据库管理角度看,数据库系统通常采用三级模式结构,这是数据库管理系统内部的系统结构;从数据库最终用户角度看,数据库系统的结构分为集中式结构(又可分为单用户结构、主从式结构)、分布式结构、客户/服务器结构,这是数据库系统外部的结构。

1.2.1 数据库系统的三级模式

模式(Schema)是数据库中全体数据的逻辑结构和特征的描述。模式的一个具体值称为它的一个实例,同一模式可以有很多实例。模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系;而实例反映的是数据库某一时刻的状态。

虽然实际的数据库管理系统产品种类很多,可以支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上都具有相同的特征,即采用三级模式结构,并提供两种映像功能。

数据库系统的三级模式结构是指数据库系统由外模式、概念模式、内模式三级构成,如图 1.5所示。

图 1.5 数据库系统的三级模式结构

1.概念模式(Conceptual Schema)

概念模式又称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图,它是数据库模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。

概念模式实际上是数据库在逻辑上的视图,一个数据库只有一个概念模式。定义概念模式时,不仅要定义数据的逻辑结构,例如,数据记录由哪些数据项组成,以及数据项的名字、类型、取值范围等,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。DBMS提供了模式描述语言(模式DDL)来严格地定义模式。

2.外模式(External Schema)

外模式也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

外模式通常是模式的子集。一个数据库可以有多个外模式。由于外模式是各个用户的数据视图,如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则其外模式描述就是不同的。同一外模式可以被一个用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。

外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据是不可见的。DBMS提供了外模式描述语言(外模式DDL)来严格地定义外模式。

3.内模式(Internal Schema)

内模式也称存储模式(Storage Schema),一个数据库只有一个内模式。内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序存储、按照B树结构存储还是按Hash方法存储,索引按什么方式组织,数据的存储记录结构有何规定等。

DBMS提供了内模式描述语言(内模式DDL,或存储模式DDL)来严格地定义内模式。

数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,DBMS在这三级模式之间提供了两层映像,如下所示。

外模式/概念模式映像 。对应于同一个概念模式,可以有任意多个外模式。它定义了某一个外模式和概念模式之间的对应关系,这些映像定义通常包含在各自的外模式中,当概念模式改变时,该映像要做相应的改变(由DBA负责),以保证外模式保持不变。

概念模式/内模式映像 。它定义了数据逻辑结构和存储结构之间的对应关系,说明逻辑记录和字段在内部是如何表示的。这样,当数据库的存储结构改变时,可相应地修改该映像,从而使模式保持不变。

正是这两层映像保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。

1.2.2 数据库管理系统

数据库管理系统(Database Management System,DBMS)是指数据库系统中对数据进行管理的软件系统,是数据库系统的核心组成部分。数据库系统的一切操作,包括查询、更新以及各种控制,都是通过DBMS进行的。

DBMS是一个庞大的软件系统,包含了一大批支持各种不同功能的软件,这些软件从内容上可以分为以下三大部分。

◆数据描述语言(DDL)及其翻译程序。

◆数据操纵/查询语言(DML)及其翻译程序。

◆数据库管理例行程序。

1.数据描述语言

数据描述语言(Data Description Language,DDL)用于定义数据库的各级数据结构及它们之间的映像,定义各种完整性约束和保密限制条件。为了便于计算机处理,DBMS配置了相应的翻译处理程序,这些程序接受相应的DDL定义,对其进行语法、语义检查,把它们翻译为内部格式存储在数据字典中。DDL翻译程序还根据模式定义负责建立数据库框架,等待装入数据。

2.数据操纵/查询语言

数据操纵语言(Data Manipulation Language,DML)提供用户或应用程序访问数据库系统的接口。DML语句一般是集合型的操作,是一种更高级的数据处理语言。尤其是关系数据库的操作语言,它不需要用户提出如何实现某一种操作,只需用户给出要处理的数据目标和相应的操作类型,系统就可自动实现用户的要求。

在数据操纵方面,有DML处理程序、终端查询语言解释程序、数据存取程序、数据更新程序等,它们用于对用户的操纵请求进行语法、语义检查,并最终完成对数据库的存取操作。

3.数据库管理例行程序

DBMS的真正核心部分是它的运行控制系统,由支持数据库系统全部运行过程的各类例行程序组成。DBMS的组成及工作过程可简单表示为如图 1.6 所示。

图 1.6 DBMS的组成及工作过程

1.2.3 数据库系统的工作流程

数据库系统一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。下面以用户查询数据库中的一组数据为例,简单介绍一下数据库系统的工作流程,如图1.7 所示。

DBMS首先对数据查询语句进行语法检查,而后从数据字典中找到该用户对应的外模式,同时进行权限检查。若发现错误,则将错误信息返回给用户。

DBMS根据找到的外模式,利用概念模式/外模式映像,将其映像到概念模式,确定概念模式应该读入哪些数据。

图 1.7 数据库系统的工作流程框图

DBMS利用内模式/概念模式映像,将概念模式映像到内模式,确定数据库应读入哪些物理记录及其具体的地址。

DBMS根据地址信息向操作系统发出读取记录的命令。

操作系统执行读取数据的命令,并将数据从硬盘读入系统缓冲区,将执行结果通知DBMS。

DBMS根据查询语句及数据字典定义的信息,将系统缓冲区中的数据转换成用户所需的记录格式。

DBMS将数据记录从系统缓冲区传送到用户工作区。

由此可见,在数据库系统中,数据库管理系统处于中心地位。

DBMS并不是直接读取数据库中的数据,而是通过操作系统访问数据库,数据库系统是基于操作系统的。 swfKJBtYLl6WbB77H13iYqrlL9yHGMbAukqbOXA3ZU3mfgcgs3K+/VL95WuEhgd9

点击中间区域
呼出菜单
上一章
目录
下一章
×