数据库原理与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5 数据库系统结构

1.5.1 数据库系统模式的概念

模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述,不涉及具体的值。模式反映的是数据的结构及其联系。

尽管实际的数据库管理系统产品种类很多,它们支持不同的数据模型、使用不同的数据库语言、建立在不同的操作系统上,数据的存储结构也不相同,但它们的体系结构具有相同的特征,即采用三级模式结构,并提供两级映像功能,如图1-14所示。

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

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

数据库的三级模式结构是数据的3个抽象级别,用户只要抽象地处理数据,而不必关心数据在计算机中如何表示和存储。

1.外模式

外模式(External Schema)又称为用户模式,是数据库用户和数据库系统的接口,是数据库用户的数据视图(View),是数据库用户可以看见和使用的局部数据的逻辑结构和特征描述,是与某一应用有关的数据的逻辑表示。

一个数据库通常有多个外模式。当不同用户在应用需求、保密级别等方面存在差异时,其外模式描述就会有所不同。一个应用程序只能使用一个外模式,但同一外模式可为多个应用程序所使用。外模式是保证数据安全的重要措施。每个用户只能看见和访问所对应的外模式中的数据,而数据库中的其他数据均不可见。

2.模式

模式(Schema)又可分为概念模式(Conceptual Schema)和逻辑模式(Logical Schema),是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述。

3.内模式

内模式(Internal Schema)又称为存储模式(Storage Schema),是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序方式、按照B 树结构存储还是按照Hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。

一个数据库只有一个内模式。内模式描述记录的存储方式、索引的组织方式、数据是否压缩和是否加密等,但内模式并不涉及物理记录,也不涉及硬件设备。

1.5.3 数据独立性

为了能够在内部实现这3个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像。

● 外模式/模式映像

● 模式/内模式映像

这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和存储独立性。

所谓映像(Mapping)就是一种对应规则,说明映像双方如何进行转换。

1.逻辑数据独立性

为了实现数据库系统的外模式与模式的联系和转换,在外模式与模式之间建立映像,即外模式/模式映像。通过外模式与模式之间的映像把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来。由于一个模式与多个外模式对应,因此,对于每个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。

有了外模式/模式映像,当模式改变时,如增加新的属性、修改属性的类型,只要对外模式/模式的映像做相应的改变,即可使外模式保持不变,则以外模式为依据编写的应用程序不会受影响,从而应用程序不必修改,保证了数据与程序之间的逻辑独立性,也就是逻辑数据独立性。

逻辑数据独立性说明模式变化时一个应用的独立程度。现今的系统可以提供下列逻辑数据独立性。

(1) 在模式中增加新的记录类型,只要不破坏原有记录类型之间的联系即可。

(2) 在原有记录类型之间增加新的联系。

(3) 在某些记录类型中增加新的数据项。

2.存储数据独立性

为了实现数据库系统模式与内模式的联系和转换,在模式与内模式之间提供了映像,即模式/内模式映像。通过模式与内模式之间的映像把描述全局逻辑结构的模式与描述物理结构的内模式联系起来。由于数据库只有一个模式,也只有一个内模式,因此,模式/内模式映像也只有一个,在通常情况下,模式/内模式映像放在内模式中描述。

有了模式/内模式映像,当内模式改变时,如存储设备或存储方式有所改变,只要对模式/内模式映像做相应的改变,使模式保持不变,则应用程序就不会受影响,从而保证了数据与程序之间的物理独立性,称为存储数据独立性。

物理数据独立性说明在数据物理组织发生变化时一个应用的独立程度,如不必修改或重写应用程序。现今的系统可以提供以下几个方面的物理数据独立性。

(1) 改变存储设备或引进新的存储设备。

(2) 改变数据的存储位置,如把它们从一个区域迁移到另一个区域。

(3) 改变物理记录的体积。

(4) 改变数据物理组织方式,如增加索引、改变Hash函数,或从一种结构改变为另一种结构。