数据库的模式(Schema)是对现实世界的抽象,是对数据库中全体数据的逻辑结构和特征的描述。模式反映的是数据与结构及其联系,数据库系统在其内具有三级模式和二级映像。三级模式分为外模式、模式、内模式,二级映像则是外模式/模式映像和模式/内模式映像

三级模式

ANSI将数据库结构分为3级:面向用户或应用程序员的用户级、面向建立和维护数据库人员的概念级、面向系统程序员的物理级。用户级对应外模式,概念级对应模式,物理级对应内模式。

  1. 模式

模式对应概念级,它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图。它是有数据库管理系统提供的数据模式描述语言(DDL)来描述、定义的,体现并反映了数据库系统的整体观。

  1. 外模式

外模式对应于用户级,它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据逻辑的表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言(DML)对这些数据记录进行操作。

DML语言可以对数据进行4中操作,即创建(CREATE)、读取(READ)、更新(UPDATE)、删除(DELETE),也把它说成是对数据执行CRUD操作。DDL语言是用于描述数据库中要存储的现实世界实体的语言,主要包括DROP、CREATE、ALTER、GRANT、REVOKE、TRUNCATE等操作。

  1. 内模式

内模式对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据最低一级的逻辑描述,它描述了数据在存储介质上存储方式的物理结构,对应着实际存储在外存储介质上的数据库。

二级映像

数据库系统的三级模式对应数据的三个抽象级别。为了能在内部实现三个抽象层次的联系和转换,DBMS在这三个级别之间提供了两层映像:外模式/模式映像和模式/内模式映像。

外模式/模式映像使数据具有较高的逻辑独立性。它对应了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。当模式改变时,DBA要对相关的外模式/模式映像做相对应的改变,以使外模式保持不变。应用程序是依据数据的外模式编写的,外模式不变应用程序就没必要修改。所以,外模式/模式映像功能保证了数据与程序的逻辑独立性。

模式/内模式映像使数据具有较高的物理独立性。它定义了数据库全局逻辑结构与存储结构之间的对应关系。该映像定义通常包含在模式描述中。当数据库的存储结束了,DBA要对模式/内模式映像做对应的改变,以使模式保持不变。模式不变,与模式没有直接联系的应用程序也不会改变。所以,模式/内模式映像功能保证了数据与程序的物理独立性。