了解数据库的三级模式和二级映像
数据库的模式(Schema)是对现实世界的抽象,是对数据库中全部数据的逻辑结构和特征的描述。模式反映的是数据的结果及其联系,数据库系统在其内部具有三级模式和二级映像。三级模式分别是外模式、模式和内模式,二级映像则是外模式/模式映像、模式/内模式映像。
1、三级模式
美国国家标准学会(American National Standard Institute ,ANSI)的数据库管理学系统研究小组于1978年提出了标准化的建议,江数据库结果分为三级:面向用户或程序员的用户级、面向建立和维护数据库人员的概念级和面向系统程序员的物理级。用户级对应外模式,概念级对应模式,物理级对应内模式。
(1)模式
模式对应着概念级,它是由数据库设计者总和所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图。它是由数据库管理系统提供的数据模式描述语言(Date Description Language,DDL)来描述、定义的,体现并反映了数据库系统的整体观。
(2)外模式
外模式对应于用户级,它是某个或某几个用户看到的数据库的数据视图,是与某一应用有关的数据逻辑的表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(DML)对这些数据记录进行操作。
(3)内模式
内模式对应于物理级,它是数据库中全部数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上存储方式的物理结构,对应着实际存储在外存储介质上的数据库。
2、二级映像
数据库系统的三级模式是对数据的3个抽象,它把数据的具体组织留给DBMS管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示和存储。为了能够在内部实现着3个抽象层次的练习和转换,DBMS在这3个级别之间提供了两层映像:外模式/模式映像 和 模式/内模式映像。
外模式/模式映像 使数据具有较高的逻辑独立性。它定义了外模式和模式之间的对应关系。这些映像定义通常包含在各自外模式的描述。当模式改变时,DBA要求相关的外模式/模式映像做相应的改变,以使外模式保持不变。应用程序是依据实际的外模式编写的,外模式不变应用程序就没必要修改。所以,外模式/模式映像 功能保证了数据与程序的逻辑独立性。
模式/内模式映像使数据具有较高的物理独立性。它定义了数据库全局逻辑结构与存储结构之间的对应关系。该映像定义通常包含在模式描述中。当数据库的存储结束了,DBA要对模式/内模式映像做相应的改变,以使模式保持不变。模式不变,与模式没有直接联系的应用程序也不会改变。所以,模式/内模式映像功能保证了数据与程序的物理独立性。