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

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

目前世界上有大量的数据库系统在运行,其类型和规模相差很大,它们支持的数据模型、数据的存储格式以及基于的操作系统都不尽相同,但它们内部的体系结构却是大体相同,即都采用三级模式结构。

数据库系统的三级模式结构是美国ANSI/X3/SPARC的数据库管理系统研究小组在1978年的报告提出的,即由外模式、概念模式(简称模式)和内模式以及2个映射(内模式—模式映射和模式—外模式映射)组成,如图1-11所示。

图1-11 数据库系统三级模式体系结构

(1)三级数据视图

数据库的三级模式结构实际上是数据抽象的3个级别,是不同层次用户从不同角度所看到的数据组织形式,又称为三级数据视图。所谓视图就是数据库在用户“眼中”的反映,不同层次(级别)用户所“看到”的数据库是不相同的。为了便于更好地理解数据库系统的三级模式结构,下面介绍数据库系统的三级数据视图。

①外部视图:是应用程序员开发应用程序时所使用的数据逻辑组织形式,是应用程序员所看到的数据的逻辑结构,也称用户视图。外部视图是面向具体应用的,可有多个,其最大特点是以各类用户的需求为出发点,构造满足其需求的最佳逻辑结构。

②全局视图:是全局数据的逻辑组织形式,是数据库管理员所看到的全体数据的逻辑组织形式,又称数据库管理员视图。全局视图是面向全局应用的,仅有一个,其特点是提供对全局应用最佳的逻辑结构形式。

③存储视图:是按照物理存储最优策略设计的针对数据的物理组织形式,是系统管理员所看到的数据结构,又称为系统管理员视图。存储视图是面向存储的,只有一个,其特点是构造物理存储最佳的结构形式。

外部视图是全局视图的逻辑子集,全局视图是外部视图的逻辑汇总和综合,存储视图是全局视图的具体实现。三级视图之间的联系由二级映射实现。外部视图和全局视图之间的映射称为逻辑映射,全局视图和存储视图之间的映射称为物理映射。

(2)三级模式结构

三级视图是用图、表等形式描述的,具有简单、直观的优点。但是,这种形式目前还不能被计算机直接识别。为了在计算机系统中实现数据的三级组织形式,必须用计算机可以识别的语言对其进行描述。DBMS提供了数据描述语言(Data Description Language,DDL),用DDL精确定义数据视图的程序称为模式(Scheme)。因此,所谓“模式”是指对数据的逻辑或物理的结构、数据特征、数据约束的定义和描述,是对数据的一种抽象表示。模式反映的是数据的本质、核心或者型的方面。模式是静态的、稳定的、相对不变的。数据的模式表示是人们对数据的一种把握和认识手段,数据库系统的三级模式是从三个不同角度对数据的定义和描述,具体含义如下。

①概念模式:又称模式或逻辑模式,是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述以及存储视图中文件对应关系的描述,是所有用户的公共数据视图(全局视图),通过数据库管理系统提供的模式DDL来描述、定义。逻辑结构的描述不仅包括记录的型(组成记录的数据项名、类型、取值范围等),还包含了记录之间的联系、数据的完整性、安全保密要求等。

②外模式:又称子模式,是某个或某几个用户所看到的数据库的数据视图,由对用户数据文件的逻辑结构描述以及全局视图中文件对应关系的描述组成。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言(外模式DDL)来描述、定义对应于用户的外模式,也可以利用数据操纵语言(Data Manipulation Language,DML)对这些数据进行操作。一个子模式可以由多个用户共享,而一个用户只能使用一个子模式。

③内模式:又称存储模式,由对存储视图中全体数据文件的存储结构的描述和对存储介质参数的描述组成,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存介质上的数据库。内模式需用DBMS提供的内模式DDL来描述、定义,存储结构的描述包括记录值的存储方式(顺序存储、Hash方法、B树结构等)、索引的组织方式等。

三级模式所描述的仅仅是数据的组织框架,而不是数据本身。在内模式这个框架填上具体数据就构成物理数据库,它是外部存储器上真实存在的数据集合。模式框架下的数据集合是概念数据库,它仅是物理数据库的逻辑映像。子模式框架下的数据集合是用户数据库,它仅是概念数据库的逻辑子集。在一个数据库系统中,只有唯一的数据库,因而内模式和模式必须是唯一的,而建立在数据库上的应用非常广泛和多样,对应的外模式也不可能是唯一的。图1-12所示是关系数据库三级模式的一个示例。