1.4 数据库的体系结构
数据库具有严谨的体系结构,这样可以有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,下面介绍数据库系统的体系结构。
1.4.1 数据库的三级模式
数据库领域公认的标准结构是三级模式结构,如图1-4所示。它包括外模式、概念模式、内模式。用户级别对应外模式;概念级别对应概念模式;物理级别对应内模式。
图1-4 数据库的三级模式结构
通过这样的划分,可以使不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度和方法,是数据库在用户“眼中”的反映,很显然,不同层次(级别)的用户所“看到”的数据库是不相同的。
1. 外模式
外模式也被称为用户模式,它是数据库用户,包括应用程序员和最终用户,能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式是模式的子集,一个数据库可以有多个外模式。外模式是保证数据安全性的一个有力措施。
2. 概念模式
概念模式又称为模式或逻辑模式,对应于概念级。它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图)。它是由数据库管理系统提供的数据模式描述语言(Data Description Language, DDL)来描述、定义的,体现、反映了数据库系统的整体观。
3. 内模式
内模式又称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。
在一个数据库系统中,只有唯一的数据库,因而作为定义、描述数据库存储结构的内模式和定义、描述数据库逻辑结构的模式,也是唯一的,但建立在数据库系统之上的应用则是非常广泛、多样的,所以对应的外模式不是唯一的,也不可能是唯一的。
1.4.2 三级模式的工作原理
数据库的三级模式是数据库在三个级别(层次)上的抽象,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储。实际上,对于一个数据库系统而言,物理级数据库是客观存在的,它是进行数据库操作的基础,概念级数据库不过是物理级数据库的一种逻辑的、抽象的描述(即模式),用户级数据库则是用户与数据库的接口,它是概念级数据库的一个子集(外模式)。
1.4.3 三级模式之间的映射
为了能够在内部实现数据库的三个抽象层次的联系和转换,数据库管理系统在三级模式之间提供了两层映射。
1. 外模式与模式之间的映射
用户应用程序根据外模式进行数据操作,通过外模式与模式的映射,定义和建立某个外模式与模式间的对应关系,将外模式与模式联系起来,当模式发生改变时,只要改变其映射,就可以使外模式保持不变,对应的应用程序也可保持不变。
2. 模式与内模式之间的映射
另一方面,通过模式与内模式的映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,当数据的存储结构发生变化时,只需改变模式与内模式的映射,就能保持模式不变,因此应用程序也可以保持不变。