【数据库系统】数据库系统的模式分层与数据独立性

前言

本来就想点到为止的,但还是有必要用中文给大家讲清楚物理数据独立性,因为挺重要的。

分层下的模式类别

一个数据库结构可以抽象为物理层、逻辑层、视图层三层,从逻辑上可以分为子模式(外部模式)、逻辑模式(模式/概念模式)、物理模式(内部模式/存储模式)三类。

为了提高数据库系统中的数据独立性,DBMS在 这三级模式之间提供了两层映像。作为数据库系统基本特征的数据和程序的独立性正是依靠于这三级模式和两级映像。

子模式

子模式也称为外部模式,是用户和数据库之间的接口,是数据库用户能看得见的和使用的局部数据的逻辑结构和特征的描述。

在数据库系统的三级模式中,子模式处于视图层(顶层)。

逻辑模式

逻辑模式也称模式或概念模式,是由数据库设计者综合所有用户数据,并且按照一定的观点构造的对数据库全局逻辑结构的描述。

在数据库系统的三级模式中,逻辑模式处于逻辑层(中间层),一个数据库只有一个逻辑模式,它既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序和程序设计语言无关。

物理模式

物理模式也称为内部模式或存储模式,是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。
在数据库系统的三级模式中,概念模式处于物理层(底层),一个数据库只有一个内部模式。内部模式是DBMS管理的最底层,它是物理存 储设备上存储数据时的物理抽象。

数据独立性

  • 物理数据独立性
  • 逻辑数据独立性

物理数据独立性

物理数据独立性的概念是建立在逻辑模式与物理模式之间的映像上的。由于数据库只有一个逻辑模式,也只有一个物理模式,因此,逻辑模式/物理模式(模式/内模式) 映像也只有一个,通常情况下,逻辑模式/物理模式映像放在物理模式中描述。

所谓“物理数据独立性”,是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
也就是说,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解(对用户透明),应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。

倒不是说底层数据变,上层不变。而是说底层的重构不会引起上层的被迫重构。

逻辑数据独立性

上面只是说了物理数据独立性,其实还有逻辑数据独立性

逻辑数据独立性的概念是建立在子模式与逻辑模式之间的映像上的。由于一个模式与多个外模式对应,因此,对于每个子模式,数据库系统都有一个“子模式/逻辑模式(外模式/模式)”映像,它定义了该子模式与逻辑模式之间的对应关系,这些映像定义通常包含在各自子模式的描述中。

逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,当数据的逻辑结构改变时,用户程序也可以不变。

不难体会到,逻辑数据独立性比物理数据独立性更难做到。这是因为应用程序对于它们所访问的数据的逻辑结构依赖程度很大,松耦合系统显然比紧耦合系统做得要好,可维护性也更强。

数据独立性

上述二者共属于数据独立性

数据的独立性是数据库系统的最基本的特征之一,也是数据库系统的一个最重要的目标之一。它包括了数据逻辑独立性和数据物理独立性,是指应用程序和数据结构之间相互独立,互不影响。
在三层模式体系结构中数据独立性是指数据库系统在某一层次模式上的改变不会使它的上一层模式也发生改变的能力。正是三级模式间的两层映像保证了数据库系统中的数据具有较高的数据独立性。
数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编写,大大简化了应用程序维护的复杂度。

总结

模式分层可分三层,中间夹着两层镜像,分别体现着物理数据独立性与逻辑数据独立性,二者均属于数据独立性,而这正是数据库系统的最基本特征之一。

发布了576 篇原创文章 · 获赞 1185 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104487978