数据库原理及应用:SQL Server 2019(第2版)
上QQ阅读APP看书,第一时间看更新

1.4 数据库的模式结构

数据模式是对数据库中全体数据逻辑结构和特征的描述,具有相对稳定性,而数据库中的数据则是不断变化的。通常,从数据库管理系统角度看,数据库系统内部的结构分为三级模式结构,并提供了二级映像(转换),基于相对稳定的数据模式便于实现数据的独立性。

1.4.1 数据库的三级模式结构

在数据库系统中,整体数据的逻辑结构及存储结构因业务等需要可能发生更新和变化,用户不适应熟悉的网站等局部数据的逻辑结构经常变更。DBMS运行环境可能有所不同,内部数据的存储结构及所用的语言各异,数据常用三级模式结构。

1.数据库系统模式

数据模型中有型与值的概念。型(Type)指对某一类数据的结构和属性的描述(如同实体型),值(Value)是型的一个具体值。如电子商务常见的网上购物系统的“会员”信息的记录型为(会员ID,姓名,性别,所在地区,家庭住址,手机号码,会员等级),而(BJ0444516,赵明,男,北京,海淀区双清路102号,3832654312,2)则是该记录型的一个具体记录值。

模式是对数据逻辑结构和特征的描述,它仅为型的描述,不涉及其具体的值。模式的一个具体值称为模式的一个实例(Instance)。模式是相对稳定的,而实例则可以不断更新和变化。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。978-7-111-66147-4-Chapter01-91.jpg

978-7-111-66147-4-Chapter01-92.jpg知识拓展

数据模式(结构)与实例

2.数据库的三级模式结构

为了有效地组织、管理数据,提高数据系统的逻辑独立性和物理独立性,数据库采用公认的三级模式结构来组织和管理数据。数据库系统的三级模式结构包括外模式、模式(概念模式)和内模式,分别代表了观察数据库的3个不同角度。在这三级模式之间还提供了外模式/模式映像、模式/内模式二级映像,保证数据的逻辑和物理独立性。数据库系统的三级模式结构如图1-20所示。

978-7-111-66147-4-Chapter01-93.jpg

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

(1)外模式(External Schema)

外模式也称子模式(Subschema)或用户模式,是局部数据的逻辑结构和特征的描述。外模式是模式的子集,一个数据库可以有多个外模式,是各个用户的数据视图(不同用户通过终端查看网站或应用界面等)。外模式是数据库安全的一个有力保障措施,每个用户只能访问与外模式中对应的数据。通常情况下,DBMS提供外模式的数据定义语言(DDL)来描述外模式。

(2)模式(Schema)

模式也称逻辑模式(Logic Schema)、概念模式(Conceptual Schema)或概念视图,是数据库中所有数据的逻辑结构和特征的描述,是用户的公共数据视图,是数据库系统模式结构的中间层,与硬件和软件环境无关。一个数据库只有一个模式,是数据的逻辑表示,即描述数据库中存储具体的数据及其之间存在的联系。DBMS提供模式的数据定义语言(DDL)来描述模式。

(3)内模式(Internal Schema)

内模式也称存储模式(Storage Schema),是数据物理结构和存储方式的描述,是数据在数据库内部的表达方式,对应于实际存储在外存储介质上的数据库。如记录的存储方式、位置、是否检索与顺序存储,数据是否压缩存储与加密等。一个数据库只有一个内模式。DBMS提供内模式的数据定义语言(DDL)来描述内模式。

三级模式结构是数据库公认的标准结构,是数据库实现数据逻辑独立性和物理独立性的基础。具体来说,将外模式和模式分开来保证数据的逻辑独立性;将模式和内模式分开来实现数据的物理独立性。978-7-111-66147-4-Chapter01-94.jpg

978-7-111-66147-4-Chapter01-95.jpg知识拓展

逻辑独立性和物理独立性

三级模式结构的优点,主要有以下3点。

1)有利于数据的安全性。不同的用户在各自的外模式(视图只读模式)下根据要求操作数据,只能对限定的数据进行操作,提高了数据的安全性。

2)有利于数据共享,减少数据冗余。外模式机制的引入,同一数据可针对不同的应用定义(确定)多个外模式,提高了数据的共享性,减少了数据冗余。

3)简化用户接口。按照外模式编写应用程序或输入命令,无须了解数据库的全局逻辑结构和内部的存储结构,方便用户使用系统。

1.4.2 数据库的二级映像

在数据库系统三级模式结构的基础上,DBMS在三级模式之间提供了二级映像(外模式/模式映像和模式/内模式映像)(对应转换),以保证数据物理独立性和逻辑独立性。

1.外模式/模式映像

外模式/模式映像定义了外模式和模式之间的对应关系。外模式描述数据的局部逻辑结构,模式描述数据的全局逻辑结构。数据库中的同一模式可以有多个外模式(不同查看视图),对于每个外模式,都存在一个外模式/模式映像。

映像是指外模式和模式之间的对应关系。这些映像确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。当模式改变时(如增加新关系(数据表)、新属性(列)等),由数据库管理系统对某个外模式/模式映像作相应改变,可保证外模式不变。应用程序根据数据的外模式编写,外模式不变时应用程序则无须修改,保证了数据的逻辑独立性(数据与程序之间的逻辑独立性)。

2.模式/内模式映像

模式/内模式映像定义了数据的全局逻辑结构与存储结构之间的对应关系。数据库中的模式和内模式都只有一个,因此模式/内模式映像也是唯一的。应用程序依赖于数据的外模式,与数据的模式和存储结构独立,当数据库的存储结构发生变化时,只需要数据库管理员对模式/内模式的映像做相应改变,可以使模式保持不变,从而保证用户程序无须改变,保证了数据的物理独立性。

数据与应用程序之间相互独立,可使数据的定义、描述和存取等问题与应用程序进行分离,更好地实现数据共享且冗余少。此外,由于数据的存取由DBMS实现,用户不必考虑存取路径等问题,可以简化很多应用程序的设计与编写,也极大地减少了应用程序的维护、管理和修改。