【SQL与关系数据库】第三节 数据定义(DDL)(一)三级模式结构与两层映射

基本术语:

1、数据库管理员(DBA)

数据库系统的三级模式结构

  在一个组织的数据库系统中,有着各种不同类型的人员(或用户)需要与数据库打交道。他们从不同的角度以各自的观点来看待数据库,从而形成了数据库系统不同的视图结构。因此,考察数据库系统的结构可以有多种不同的层次或不同的视角。
  若从DBA的视角上来看,数据库系统可分为内部系统结构和外部系统结构,其中内部系统结构通常采用三级模式结构,而外部体系结构通常表现为集中式结构、分布式结构和并行结构等;
  若从数据库应用的用户(如应用程序的编写人员)的角度来看,目前数据库系统通常具有客户/服务器结构和浏览器/服务器结构,这也是数据库系统整体的运行与应用结构。
  从DBA的角度来审视数据库系统,其内部基本上遵循三级体系结构:·用户级、概念级和物理级
  各种不同的数据库管理系统产品在体系结构上通常具有相同的特征,即采用三级模式结构,并提供两层映射功能。
  具体来说,三级模式是指数据库系统是由概念模式(Schema)外模式(External Schema)内模式(Internal Schema)三级构成的,如下图所示:


MySQL中的SQL对关系数据库模式的支持

一、概念模式:

  概念模式也简称模式或称为逻辑模式,它是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
  概念模式实际上是数据库数据在逻辑级上的视图,即概念视图,它的形式要比数据的物理存储方式抽象。DBA必须考虑整个数据库的这种全局概念视图,它不包含任何数据库的实现细节,例如是哪一种DBMS、文件组织、存取方法以及设备特征等,而是定义数据的逻辑结构、数据之间的联系,以及与数据相关的安全性、完整性等要求。
  数据库按外模式的描述向用户提供数据,按内模式的描述存储数据,而概念模式是这两者的中间层,它既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及程序涉及语言无关,同时一个数据库只有一个概念模式,且相对稳定。

二、外模式

  外模式也叫子模式(Subschema)或用户模式,它是数据库用户(包括应用程序和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。
  外模式实际上是用于满足不同数据库用户需求的数据视图,即用户视图,其通常是模式的子集,是对数据库整体数据结构的局部重构。如果不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,则其外模式描述就不相同,并且模式中同样的数据,在外模式中的结构、类型、长度、保密级别等都可以不同。
  一个数据库可以有多个不同的外模式(如图所示),允许它们有一定的重叠,且一个外模式可以只为一个应用程序使用,也可以为多个应用程序所共享。

  举例来说:

在一个学校的管理信息系统中,教务处子系统用户只能看到教师的授课信息、学生的选课及成绩信息,人事处子系统用户只能看到教师的基本资料信息,学工处子系统用户只能看到学生的基本资料管理信息,而学校管理信息系统的数据库则存储的是这些信息数据的总集合。

  因此,外模式是保证数据库安全的重要措施,每个用户只能看见和访问所对应的外模式中的数据,而数据库中其余数据是不可见的。同时,外模式简化了数据库系统的用户接口,便于用户使用,并有效支持了数据的独立性和共享性。
  相应地,DBMS提供子模式描述语言(Subschema DDL)来严格地定义子模式。

三、内模式

  在三级模式结构中,内模式也叫存储模式(Storage Schema),它是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。
  内模式实际上是整个数据库的最底层表示,它不同于物理层,是DBA所见到的,特定的DBMS所处理的数据库的内部结构,即内部视图或存储视图。
  如上图所示,有一个数据库只有一个内模式,它不是存储设备上的物理记录或物理块,也不涉及任何具体设备限制,例如柱面或磁道的大小等,也就是说,内模式还不是最底层的物理层,比内模式更接近于物理存储和访问的哪些软件机制是操作系统的一部分,比如从磁盘上对数据进行读、写操作。
  DBMS提供内模式描述语言(内模式DDL或者存储模式DDL)来严格定义内模式,即定义所有内部记录类型、索引和文件的组织方式,以及所有数据控制方面的细节,例如,记录的存储方式是按照顺序结构存储还是按照B树结构存储,数据是否压缩、是否加密等。

两层映射功能与数据独立性

  简要来说,构成数据库系统三级模式结构的三个模式分别是对数据的三级抽象,它们彼此间具有如下一些特点。

  • 一个数据库的整体逻辑结构和特征的描述(概念模式)是独立于数据库其他层次结构(内/外模式)的描述,它是数据库的核心,也是数据库设计的关键。
  • 一个数据库的内部存储模式依赖于概念模式,但存储模式独立于外部模式,也独立于具体的存储设备。
  • 用户逻辑结构(外模式)是在全局逻辑结构描述的基础上定义的,它面向具体的应用程序,独立于内部模式和存储设备。
  • 特定的应用程序是在外模式的逻辑结构上编写的,它依赖于特定的外模式,与数据库的模式和存储结构独立。
    因此,用户可不必考虑数据的物理存储细节,而把数据的具体组织留给DBMS负责管理,同时为了有效支撑数据的三级抽象以及它们相互间的联系和转换,DBMS通过在内部提供三级模式之间的两层映射来实现,即外模式/概念模式映射与概念模式/内模式映射

1)外模式/概念模式映射

  所谓映射,就是一种对应规则,它指出映射双方是如何进行转换的。外模式/概念模式映射定义了各个外模式与概念模式之间的映射关系,这些映射定义通常在各自的外模式中加以描述。由于一个概念模式可以有任意多个外模式,因此对于每一个外模式,数据库系统都会有一个外模式/概念模式映射。
  数据库系统的概念模式如果发生改变,比如增加新的属性、新的关系、改变数据类型等,DBA通常会对各个外模式/概念模式的映射做出相应的改变,使那些对用户可见的外模式保持不变,从而应用程序的编程人员就不必取修改那些依据数据的外模式所编写的应用程序,实现了外模式不受概念模式变化的影响,保证了数据与程序的逻辑独立性。

2)概念模式/内模式映射

概念模式/内模式映射定义了数据库全局逻辑结构与物理存储之间的对应关系,这种映射定义通常是在模式中加以描述的。由于数据库中只有一个概念模式,且也只有一个内模式,所以概念模式/内模式映射是唯一的。
数据库系统的物理存储如若发生改变,例如选用另外一种存储结构或更换另外一个存储位置,DBA通常也会对概念模式/内模式映射做出相应调整,以使数据库系统的模式保持不变,从而也不必去修改应用程序,如此实现了概念模式不受内模式变化的影响,保证了数据与程序的物理独立性。
由此可见,正是这两层映射保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性,使得数据的定义和描述可以从应用程序中分离出去,从而简化了数据库应用程序的开发,也减少了维护应用程序的工作量。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库系统的三级数据模式分为外部模式、概念模式和内部模式。 1. 外部模式 外部模式是用户能够直接看到和使用的数据模式,它是用户视角下的数据模式,也称为用户模式。外部模式描述了用户对数据的需求和使用方式,以及用户所能够看到和使用的数据内容。每个用户都可以有自己的外部模式,从而实现了数据的个性化定制。 2. 概念模式 概念模式数据库的全局逻辑结构,也称为全局模式。它是数据库管理员视角下的数据模式,描述了数据库整体的逻辑结构数据的组织和关系等信息。概念模式数据库的核心,是所有用户共享的数据模式,同时也是数据库设计的重点和难点。 3. 内部模式 内部模式数据库存储和管理数据的物理结构,也称为存储模式。它是数据库系统视角下的数据模式,描述了数据在磁盘上的存储方式、存储结构、索引方式等信息。内部模式数据库系统的实现方式,对于用户来说是不可见的。 三级数据模式的特点: 1. 分层结构:三级数据模式是分层结构,每个层次都有不同的数据模式,分别描述不同的数据抽象层次。 2. 独立性:三级数据模式之间具有独立性,外部模式与内部模式之间、外部模式之间、内部模式之间都具有独立性,使得用户和程序员可以独立于物理存储结构进行数据操作。 3. 易于维护:三级数据模式具有良好的可维护性,因为每个层次的数据模式都是相对独立的,所以对于一个数据模式的修改只需要对应的层次进行修改,而不会对其他层次产生影响。 4. 灵活性:三级数据模式具有良好的灵活性,可以根据不同的需求和应用场景进行定制和优化,从而实现数据的个性化定制和高效管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值