6.5.3 数据库系统结构
从不同的角度考查,可得出不同的数据库系统结构。从数据库管理系统角度来看,数据库系统通常釆用三级模式结构;从数据库最终用户的角度来看,数据库系统的结构分为单用户结构、主从式结构、分布式结构和客户/服务器结构。
1.数据库系统的三级模式结构
虽然实际的数据库系统软件产品种类繁多,它们支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构各不相同,但从数据库管理系统的角度看,它们在体系结构上通常都具有三级模式的特征(微机上的个别小型数据库系统除外),并提供两级映像功能。
在数据库系统中,用户看到的数据和计算机中存放的数据是两回事,它们之间通过两次映像变换相互联系起来。数据库的三级模式结构是指数据库系统是由外模式、模式和内模式二级构成。
(1)外模式(又称子模式或用户模式)
外模式是数据库用户看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一个应用有关的数据的逻辑表示。它由若干个外部记录类型组成。用户使用数据操纵语言的语句对数据库进行操作,实际上就是对外模式的外部记录进行操作。用户对数据库的操作,只能与外模式发生联系,按照外模式的结构存储操纵数据,不必关心模式。
(2)模式(又称逻辑模式或概念模式)
模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它由若干个概念记录类型组成。
(3)内模式(又称存储模式)
内模式是数据物理结构和存储结构的描述,即是数据在数据库内部的表示方式。它定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。一个数据库中只有一个内模式和一个模式,但可有多个外模式。
数据库的内模式依赖于它的全局逻辑结构,但独立于外模式,也独立于具体的存储设备。它是将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行有效的组织,以达到较好的时间和空间效率。
数据按外模式的描述提供给用户,按内模式的描述存储在磁盘中。模式提供了一种约束其他两级的相对稳定的中间观点,它使得两级中的任何一级改变都不受另一级的牵制。模式位于数据库系统模式结构的中间层,不涉及数据的物理存储细节和硬件环境,也与具体的应用无关。数据库模式以某一种数据模型为基础,综合考虑所有用户的需求,并将这些需求结合成一个逻辑整体。定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。数据库的外模式是面向应用程序的,它定义在模式之上,独立于内模式和存储设备。模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构,通常它是模式的子集。一方面,对模式中的同一数据,在外模式中的结构、类型、长度、保密级别等都可不同。另一方面,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据对他们来说是不可见的。由此可见,数据库系统的三级模式是对数据的3个抽象级别,它把数据的具体组织留给了数据库管理系统去管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。
为了能够在内部实现这3个抽象层次的联系和转换,数据库系统在这3级模式之间提供了外模式/模式映像和模式/内模式映像两级映像。
(1)外模式/模式映像
外模式/模式映像定义了各外模式和模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。当模式改变时,由数据库管理员对各个外模式/模式映像作相应的改变,而外模式仍然保持不变,从而应用程序不必修改,保证了数据的逻辑独立性(指当总体逻辑结构改变时,通过对映像的相应改变而保持局部逻辑结构不变,从而应用程序也可以不必改变)。
(2)模式/内模式映像
模式/内模式现象定义了数据全局逻辑结构与存储结构之间的对应关系。模式/内模式映像是,该映像定义通常包含在模式描述中。
当数据库的存储结构发生改变时,由数据库管理员对模式/内模式映像作相应的改变,而使模式保持不变,从而保证了数据的物理独立性(指当数据的存储结构改变时,数据的逻辑结构可以不变,从而应用程序也不必改变)。
返回目录:通信工程师考试科目综合能力计算机应用
编辑推荐通信工程师考前试题练习: