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

1.4 数据库的模式结构

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

知识拓展

数据模型和数据模式的区别

1.4.1 数据库的三级模式结构

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

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

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

知识拓展

数据模式(结构)与实例

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

(1)外模式(External Schema)

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

(2)模式(Schema)

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

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

(3)内模式(Internal Schema)

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

知识拓展

逻辑独立性和物理独立性

三级模式结构是数据库公认的标准结构,是数据库实现数据逻辑独立性和物理独立性的基础。将外模式和模式分开以保证数据的 逻辑独立性 ,将模式和内模式分开以实现数据的 物理独立性

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

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

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

3)便于使用和维护。按照外模式研发应用程序或输入命令,无须了解数据库的全局逻辑结构和内部的存储结构,方便系统使用和维护。

1.4.2 数据库的二级映像

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

1.外模式/模式映像

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

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

2.模式/内模式映像

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

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

讨论思考:

1)数据库的三级模式结构包括哪几种?

2)数据库的二级映像具体有什么作用?

微课视频

课程视频1.5 F54Cf90TdO6x8S3Hg8ANu8GS23a/K3GR7D0bDVT3MdaGly/FNQRX8TQthDMX98mQ

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