购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 数据库系统的结构

数据库系统为什么能够实现数据共享?为什么数据库系统能够提供数据的逻辑独立性和物理独立性?这些优势离不开数据库系统的分级结构。最著名的是美国ANSI/SPARC数据库系统研究组在1975年提出的三级划分法,其将数据库系统划分为3个抽象级:用户级、概念级、物理级(用户级对应外模式,概念级对应概念模式,物理级对应内模式)。数据库系统的三级模式结构如图1-7所示。三级模式结构能有效地组织、管理数据,提高了数据库的逻辑独立性和物理独立性。

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

1.2.1 三级模式

不同级别的用户对数据库形成不同的视图。所谓视图,就是指观察、认识和理解数据的范围、角度及方法,是数据库在用户“眼中”的反映。不同级别的用户所“看到”的数据库是不相同的。

1. 外模式

外模式是数据库用户(包括程序员和最终用户)能够看见和使用的局部数据的逻辑结构与特征的描述,又称为子模式、用户可以模式或用户视图。用户可以根据外模式操作数据库中的数据。外模式主要描述组成用户视图的各个记录的组成与相互关系、数据项的特征、数据的安全性和完整性约束条件。

一个数据库系统可以同时满足多个用户的需求,不同用户的权限和需求不同,看到和访问到的数据集合也不同。因此,一个数据库系统可以同时存在多个外模式。此外,外模式还可以经过加工,以不同的形式呈现给用户,例如它可以呈现明细数据,也可以呈现汇总后的数据。

2. 概念模式

概念模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,又称为模式、逻辑模式。一个数据库只有一个概念模式。

3. 内模式

内模式是对数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,又称为物理模式、存储模式。内模式描述的是存储记录的类型、存储域的表示、存储记录的物理顺序、指引元、索引和存储路径等数据的存储组织。一个数据库只有一个内模式。

把数据库的多级结构与农贸市场的系统结构做个简单的类比:数据库的概念模式类似于农贸市场中全部货品的品类清单;数据库的外模式类似于一个消费者购买的货品;数据库的内模式类似于货品的存放位置和存放方式。农贸市场实现了货品和需求的独立,实现了以相对稳定的货品满足多变的需求。商户面对的是广大消费者,虽然单个消费者的需求经常发生变化,但群体的消费需求是相对稳定的。商户可以以相对稳定的货品满足变化的个体需求。有经验的商户熟悉时令货品的种类、品质和价格,了解周边人群的消费水平和消费偏好,从而做到货品适销对路。消费者作为农贸市场的终端用户,不需要亲力亲为地春播秋收,就可以买到需要的货品。专业的市场管理人员维持着良好的市场环境。

1.2.2 二级映像

概念模式是逻辑模式,而内模式是物理模式;概念模式是全局数据,而外模式是局部数据。如何由概念模式得到用户需要的外模式?如何把数据存储到物理内存中?这些转换在农贸市场中是由人来完成的,第一个转换需要消费者亲自到农贸市场去挑选、购买货品,或者以外卖的形式由外卖员代为完成。第二个转换是由商户进货、上货来实现的。数据库系统则是通过数据库管理系统提供的二级映像来实现的。

数据库管理系统的二级映像是指概念模式/外模式映像和概念模式/内模式映像,如图1-8所示。虽然不同的数据库管理系统提供的语言和操作方法不同,但基本原理是一样的。

1. 概念模式/外模式映像

概念模式/外模式映像定义了概念模式与外模式之间的对应关系,作用是基于概念模式得到外模式。由于一个概念模式与多个外模式对应,所以每个外模式都需要一个概念模式/外模式映像。

图1-8 数据库的二级映像

概念模式作为数据的全局逻辑,具有一定的稳定性,但是并非一成不变。例如,随着季节的变化,农贸市场货品的种类或者价格会进行调整。又如,之前的设计缺陷使概念模式需要增加新的属性、修改属性的类型、增加约束条件等。有了概念模式/外模式映像,概念模式改变时可以使外模式保持不变,进而使应用程序不必修改,实现了数据的逻辑独立性,这对于程序员来说是个福音。所谓数据的逻辑独立性,是指应用程序和数据的逻辑结构是相互独立的,当数据的逻辑结构发生改变时,不需要改变应用程序。

2. 概念模式/内模式映像

假设农贸市场重装后开业了,新市场更加干净、明亮,但是货品布局调整很大,你花了比往常更多的时间才买齐需要的货品。数据库系统中是否也存在这类问题呢?幸运的是数据库管理系统提供的概念模式/内模式映像定义了数据库概念模式与内模式之间的对应关系。由于一个数据库系统只有一个概念模式,也只有一个内模式,因此,概念模式/内模式映像是唯一的。

当内模式改变时,如存储设备或存储方式发生改变时,只要对概念模式/内模式映像做相应的改变,自动调整概念模式与内模式之间的对应关系,保证概念模式和外模式不变,就能实现数据的物理独立性。所谓数据的物理独立性,是指应用程序和数据的物理结构是相互独立的,当数据的物理结构发生改变时,数据的逻辑结构和应用程序不受影响。

为了方便读者理解三级模式和二级映像的抽象概念,此处以农贸市场为例辅助讲解。但是要注意的是,数据在数据库中是长期保存的,不会因为用户的访问而影响其他有权限用户的再次访问,这和农贸市场中的货品卖一件少一件是不同的。读者可以举一反三,以此加深对数据库系统结构的理解。 hI8yJax4zaB4M6atqlqiFOgScbDwuCzmJWGgYGBNx7IhkDfl5lz43n5IMBNvK47j

点击中间区域
呼出菜单
上一章
目录
下一章
×