
1.2 数据库体系结构
人们为数据库设计了一个严谨的体系结构,数据库领域公认的标准结构是三级模式结构,包括外模式、概念模式和内模式。数据库体系结构能够有效组织、管理数据,提高数据库的逻辑独立性和物理独立性。
1.2.1 什么是模式
虽然实际的数据库管理系统产品种类很多,支持不同的数据模式,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上通常具有相同的特征,即采用三级模式结构并提供两级映像功能。
模式是数据库中全体数据的逻辑结构和特征的描述,仅仅涉及型的描述,不涉及具体的值。模式的一个具体值称为一个实例,同一个模式可以有很多实例。模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。
1.2.2 三级模式结构
美国国家标准协会(American National Standard Institute, ANSI)的数据库管理系统研究小组于1978年提出了标准化的建议,将数据库结构分为3级:面向用户或应用程序员的用户级、面向建立和维护数据库人员的概念级、面向系统程序员的物理级。
其中,用户级对应外模式,概念级对应概念模式,物理级对应内模式,不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户眼中的反映。很显然,不同层次(级别)的用户所看到的数据库是不同的。数据库系统结构层次如图1.1所示。

图1.1 数据库系统结构层次图
1.分类
(1)外模式
外模式又称子模式或用户模式,对应用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应用户的数据记录(外模式),也可以利用数据操纵语言(Data Manipulation Language, DML)对这些数据记录进行操作。总的来说,外模式反映了数据库的用户观。
外模式规定了数据的添加、删除、显示、维护、打印、查找、选择、排序和更新等操作。
(2)概念模式
模式又称概念模式或逻辑模式,对应概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description Language, DDL)来描述、定义的,体现、反映了数据库系统的整体观。
(3)内模式
内模式又称存储模式,对应物理级。它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。
在一个数据库系统中只有唯一的数据库,因而作为定义、描述数据库存储结构的内模式和定义、描述数据库逻辑结构的模式也是唯一的,但建立在数据库系统之上的应用则是非常广泛、多样的,所以对应的外模式不是唯一的,也不可能是唯一的。
2.工作原理
数据库的三级模式是数据库在3个级别(层次)上的抽象,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储。实际上,对于一个数据库系统而言,物理级数据库是客观存在的,是进行数据库操作的基础;概念级数据库不过是物理数据库的一种逻辑、抽象的描述(模式);用户级数据库则是用户与数据库的接口,是概念级数据库的一个子集(外模式)。
用户应用程序根据外模式进行数据操作,通过外模式—模式映射定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也保持不变;另一方面,通过模式—内模式映射定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式—内模式映射,就能保持模式不变,因此应用程序也可以保持不变。