数据库系统的三级模式结构和二级形象
温馨提示:这篇文章已超过369天没有更新,请注意相关的内容是否还可用!
Schema是对数据库中所有数据的逻辑结构和特征的描述,它只涉及类型的描述,而不涉及具体值。schema相对稳定,而实例由于数据库中数据的不断更新和变化而相对变化。模式反映了数据的结构和关系,而实例反映了数据库在某一时刻的状态。数据库系统的内部架构在逻辑上分为三个层次的模式结构:内部模式、模式和外部模式,以及辅助图像功能。因此,外部模式是保证数据库安全的有力措施。数据库系统的三层模型是数据的三个抽象层次,它使用户能够对数据进行逻辑处理,而不必关心数据在计算机内部的存储方式,而将数据的具体组织交给用于管理的 DBMS。
数据库系统的三级模式结构
Schema是对数据库中所有数据的逻辑结构和特征的描述,它只涉及类型的描述,而不涉及具体值。 模式的具体值称为模式的实例。 同一模式可以有许多实例。 schema相对稳定,而实例由于数据库中数据的不断更新和变化而相对变化。 模式反映了数据的结构和关系,而实例反映了数据库在某一时刻的状态。
数据库系统的内部架构在逻辑上分为三个层次的模式结构:内部模式、模式和外部模式,以及辅助图像功能。
(1)模式。 模式也称为逻辑模式或概念模式,是对数据库中所有数据的逻辑结构和特征的描述。 该模式处于三层结构的中间层,不涉及数据的物理存储细节和硬件环境,与具体的应用程序、使用的应用开发工具以及高层无关。编程语言。 一个数据库只有一种模式,因为它是整个数据库数据的逻辑视图,即数据库的整体逻辑。
(2)外部模式。 外部模式(External Schema)也称为子模式(Subschema)或用户模式(User Schema),是三层结构的最外层,是数据库用户可以看到并允许使用的部分数据的逻辑结构。 特征和特性的描述是与应用程序相关的数据的逻辑表示,也是数据库用户的数据视图,即用户视图。 可见,外部schema一般是schema的子集,一个数据库可以有多个外部schema。 由于不同用户的需求可能不同,因此不同用户对应的外部模式的描述也可能不同。 另外,同一个外部模式还可以被某个用户的多个应用系统使用。 因此,每个用户可以根据系统给出的外部模式,使用查询语言或应用程序来操作数据库中所需的部分数据,从而每个用户只能看到和访问相应外部模式中的数据。 其余的数据对他们来说是不可见的。 因此,外部模式是保证数据库安全的有力措施。
(3)内部模式。 内部模式(Internal Schema)也称为存储模式或物理模式,是三级模式中的最内层,也是最接近物理存储的层,即与数据实际存储相关的层。 层。 它是对数据库存储结构和数据库内部数据表示的描述。 例如,记录以什么存储方式存储(顺序存储、B+树存储)、索引如何组织、数据是否压缩或加密等。数据库只有一种内部模式。
事实上,DBMS的中心任务之一就是完成三级数据库模式之间的转换,将用户对数据库的操作转换到物理层面。
数据库系统的二次映像和数据独立性
数据库系统的三层模型是数据的三个抽象层次,它使用户能够对数据进行逻辑处理,而不必关心数据在计算机内部的存储方式,而将数据的具体组织交给用于管理的 DBMS。 为了能够在内部实现这三个抽象层次的连接和转换,DBMS提供了三层模式之间的二次映射功能。 正是这两个层次的形象保证了数据库系统中的数据能够具有高度的逻辑独立性和物理独立性。
(1) 外部模式/模式图像。 模式描述了数据的全局逻辑结构,外部模式描述了数据的局部逻辑结构。 数据库中的同一个模式可以有任意数量的外部模式,并且对于每个外部模式,都有一个外部模式/模式映像,它决定了数据的局部逻辑结构和全局逻辑结构之间的对应关系。 例如,当在原始记录类型之间添加新的链接,或者在某些记录类型中添加新的数据项时,数据库管理员将对每个外部模式/模式映像进行相应的更改。 这个图像函数保证了数据的局部逻辑结构保持不变(即外部模式保持不变)。 由于应用程序是根据数据局部逻辑结构编写的,因此不需要修改应用程序,从而保证了数据与程序之间的逻辑独立性。
(2)模式/内部模式图像。 数据库中只有一个模式和内部模式,因此模式/内部模式映像是唯一的。 它决定了数据的全局逻辑结构和存储逻辑结构之间的对应关系。 当存储结构发生变化时,如果采用更高级的存储结构,数据库管理员会对schema/内部schema镜像进行相应的改变,使schema保持不变,即存储结构变化的影响仅限于schema,这使得数据存储结构和存储方法相对独立于应用程序,并通过图像功能保证数据存储结构的改变不会影响数据全局逻辑结构的改变,从而使应用程序程序不需要修改,即保证了数据的物理独立性。
数据库系统三级模式结构及二级图像功能示意图
数据库系统三级模式和二级镜像的优点
(1)保证数据独立性。 将模式与内部模式分离,保证了数据的物理独立性; 将外部模式与模式分开,保证了数据的逻辑独立性。
(2)简化了用户界面。 根据外部模式编写应用程序或输入命令,无需了解数据库内部存储结构,方便用户使用系统。
(三)促进数据共享。 在不同的外部模式下,多个用户可以共享系统中的数据,减少数据冗余。
(4)有利于数据的安全保密。 在外部模式下,可以根据需要进行操作,只能操作有限的数据,保证了其他数据的安全。
参考资料:[1]陈志波,王春玲,徐福,范春梅。 数据库原理与应用教程(第3版)[M]. 北京:人民邮电出版社,2014:10-12。