本文内容参考书籍:《数据库系统概论》
1. 1数据管理
数据管理指的是如何对数据进行分类、组织、储存、检索及维护。要注意,这里所说的数据,不仅是指数字,还包括文字、图形、图像、声音等。凡是计算机中用来描述事物的记录,统称为数据。这里我不由想起我童年的游戏洛克王国了,研究好久了,关于数据的存储,以及为何反应这么…慢
随着计算机软硬件的发展,数据管理技术不断地完善,经历了如下三个阶段:
(1)人工管理阶段;
(2)文件系统阶段;
(3)数据库系统阶段。
1.2 数据库系统的体系结构
1.2.1三层模式结构
数据库系统的体系结构从不同的角度可有不同的划分方式。从数据库管理系统的角度
可分为三层,从外到内依次为外模式、模式和内模式。
数据库的三层结构是数据的三个抽象级别,用户只要抽象地处理数据,而不必关心数据,在计算机中如何表示和存储。为了实现三个抽象级别的联系和转换,数据库管理系统在三层结构之间提供了两层映 像:外模式/模式映像和模式/内模式映像。
下面分别介绍三层模式结构和两层映像功能。
1.外模式
外模式(external schema)又称为用户模式,是数据库用户和数据库系统的接口,是数据库用户的数据视图(view),是数据库用户可以看见和使用的局部数据的逻辑结构和特征的描述,是与某应用有关的数据的逻辑表示。
但是值得注意的是:
一个数据库通常都有多个外模式。当不同用户在应用需求、保密级别等方面存在差异时,其外模式描述就会有所不同。一个应用程序只能使用-一个外模式,但同一外模式可为多个应用程序所使用。外模式是保证数据库安全的重要措施。每个用户只能看见和访问所对应的外模式中的数据,而数据库中的其他数据均不可见。
2.模式
模式(schema)又可细分为概念模式(conceptual schema)和逻辑模式(logical schema),
是所有数据库用户的公共数据视图,是数据库中全部数据的逻辑结构和特征的描述。
-一个数据库只有一个模式。其中概念模式可用实体-联系模型来描述,逻辑模式以某种
数据模型(比如关系模型)为基础,综合考虑所有用户的需求,并将其形成全局逻辑结构。模
式不但要描述数据的逻辑结构,比如数据记录的组成,各数据项的名称、类型、取值范围,而且要描述数据之间的联系、数据的完整性、安全性要求。
3.内模式
内模式(internal schema)又称为存储模式(storage schema),是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。
一个数据库只有一一个内模式。内模式描述记录的存储方式、索引的组织方式、数据是否压缩、是否加密等。但内模式并不涉及物理记录,也不涉及硬件设备,比如,对硬盘的读写操作是由操作系统(其中的文件系统)来完成的。
在三层模式结构中,数据库模式是数据库的核心与关键,外模式通常是模式的子集。数据按外模式的描述提供给用户,按内模式的描述存储在硬盘上,而模式介于外、内模式之间,
既不涉及外部的访问,也不涉及内部的存储,从而起到隔离作用,有利于保持数据的独立性。
内模式依赖于全局逻辑结构,但可以独立于具体的存储设备。
1.2.2两层映像功能
所谓映像(mapping)就是一种对应规则,说明映像双方如何进行转换。
1.外模式/模式映像
通过外模式与模式之间的映像把描述局部逻辑结构的外模式与描述全局逻辑结构的模式联系起来。由于一一个模式与多个外模式对应,因此,对于每个外模式都有一个外模式/模式映像用于描述该外模式与模式之间的对应关系。外模式/模式映像通常放在外模式中描述。
有了外模式/模式映像,当模式改变时,比如增加新的属性、修改属性的类型,只要对外模式/模式映像做相应的改变,使外模式保持不变,则以外模式为依据的应用程序就不受影
响,从而保证了数据与程序之间的逻辑独立性,也就是数据的逻辑独立性。
2.模式/内模式映像
通过模式与内模式之间的映像把描述全局逻辑结构的模式与描述物理结构的内模式联系起来。由于数据库只有一个模式,也只有一个内模式,因此,模式/内模式映像也只有一个,通常就放在内模式中描述。
有了模式/内模式映像,当内模式改变时,比如存储设备或存储方式有所改变,只要对模式/内模式映像做相应的改变,使模式保持不变,则应用程序就不受影响,从而保证了数据与程序之间的物理独立性,也就是数据的物理独立性。
从上面的介绍可以看出,由于有两层映像,在内模式发生变化,甚至模式发生变化时,都可以使外模式在最大限度上保持不变。由于应用程序是在外模式所描述的数据结构的基础上编写的,外模式的稳定性就保证了应用程序的稳定性。而这正是数据库结构采用三层模式、两层映像为系统提供了高度的数据独立性所得到的结果。
数据库的层模式结构: