医药数据库系统原理与应用(全国中医药行业高等教育“十四五”规划教材)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

一、三级模式结构

数据库系统的三级模式结构包括外模式、模式和内模式,如图1-16所示。

img

图1-16 数据库系统的三级模式结构

1.模式(schema)

模式是数据库中全部数据的逻辑结构和特征的描述,是所有用户的公开数据视图,也称逻辑模式。一个数据库只有一个模式。数据库模式以某种数据模型为基础,综合了各种用户的需求,并将这些需求有机地结合成一个逻辑整体。模式位于数据库系统结构的中间层,既不涉及数据的物理存储细节,也不涉及具体的应用程序开发。

定义模式时不仅要定义数据的逻辑结构,例如数据项的名字、类型和取值范围等,而且要定义数据之间的联系,定义数据相关的安全性、完整性要求。DBMS提供模式描述语言(模式DDL)来严格地定义模式。

2.外模式(external schema)

外模式是数据库用户(包括应用程序开发人员和最终用户)使用的局部数据的逻辑结构和特征的描述,是与特定应用相关的数据的逻辑表示,也称子模式或用户模式。一个数据库可以有多个外模式,外模式是模式的子集。

不同的用户在应用需求、看待数据的方式、对数据的保密要求等方面如果存在差异,则其外模式的描述是不同的。即使对模式中的同一数据,在外模式中的结构、类型、长度和保密级别都可以不同。一个外模式可以为多个应用程序所使用,一个应用程序只能使用一个外模式。

外模式是数据库安全性的一个有力保障措施,每个用户只能看见和访问所对应的外模式中的数据,而无法看见和访问数据库中的其他数据。DBMS提供子模式描述语言(子模式DDL)来严格定义子模式。

3.内模式(internal schema)

内模式是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,也称存储模式。一个数据库只有一个内模式。

内模式主要反映数据的物理存储结构和存储方式,如记录的存储方式是堆存储,还是按照某个(些)属性值的升(降)序存储;索引的组织方式是什么,是hash索引还是B+树索引;数据是否压缩,是否加密;数据的存储结构是定长结构还是变长结构,一个记录不能跨物理页存储等等。DBMS提供内模式描述语言(内模式DDL)来严格定义内模式。