美文网首页
数据库系统原理之数据库系统的抽象

数据库系统原理之数据库系统的抽象

作者: 柏丘君 | 来源:发表于2018-09-16 11:17 被阅读0次

    抽象,就是对一系列的事物的共性进行提取概括,而隐藏或者不关心它们的内部细节。我们常用的数据库系统,有基于 MySQL 的,有基于 Oracle 的,有基于 DB2 的,有基于 MS SQL Server 的,还有一些非关系型的数据库系统,NoSql 数据库系统···我们该怎样来抽象这些数据库系统呢?
    首先,需要弄清楚三个概念:数据,模式和模型。

    数据 模式 模型

    数据是我们保存在数据库中的真实的数据。
    模式我们对这些数据进行的结构性的描述,比如我们将学生信息抽象为姓名,性别,学号,班级,家庭地址等等。通过模式,将要保存的数据进行归类划分。
    模型是对模式的抽象,比如使用 Table 来保存数据的方式,我们将其称之为关系模型。
    以上就是数据,模式以及模型的概念。它们之间的关系,可以通过抽象来定义,比如模式是对数据的结构性抽象,模型是对模式的抽象。也可以通过实现来定义,如数据是符合某个模式的数据集,模式是对某种模型的实现。

    三级层次

    我们可以将数据库系统划分为三级层次:

    1. 用户层次

    用户层次也叫外部层次,是站在用户的角度,描述用户看到的数据库中的数据,举个例子,我们在设计学生表的时候,可能设计来诸多的字段,但最终呈现给用户的可能只是这些字段中的一部分,或者是将这些字段进行某种组合最终得到的结果(如学生总成绩,平均成绩)。

    1. 逻辑层次

    逻辑层次也叫做全局层次或者概念层次,是从全局的角度看到的数据。对应于上例中,就是一个完整的学生表中所存放的数据。

    1. 物理层次

    物理层次也叫做内层次,是从实现的角度看到的数据,也就是实际存放在物理磁盘上的数据,包括存储路径,存储方式,索引方式等。

    三级模式

    所谓三级模式,就是分别对三级层次中的数据进行结构性的抽象和描述。也分为三个方面。

    1. 外模式/用户模式

    对用户看到的(局部)数据进行描述。

    1. 全局模式/逻辑模式/概念模式

    从整体上对数据进行描述。

    3.内模式/物理模式

    从物理存储上对数据进行表述,指数据是采用什么方式存储的。

    上面的模式,也可以叫做视图。如外视图/用户视图,逻辑视图等。
    一般来讲,我们单说模式,指的是数据的全局模式。单说视图,指的是外部视图。

    两层映像

    三级模式存在两种相邻的关系:外模式和逻辑模式之间的关系,以及逻辑模式和内模式之间的关系。
    通过外模式可以查看到逻辑模式中的数据,通过逻辑模式可以查看到存放在物理模式中的数据,这之间有个转换的过程,也就是映像。
    所谓映像,就是将一种结构映射成另一种结构的过程。在这三层模式中,存在两种映像。

    1. E-C 映像

    外模式到逻辑模式中的映像,通过 E-C 映像,实现了逻辑模式向外部模式的转换。

    2.C-I 映像

    逻辑模式到内模式的映像,通过 C-I 映像,实现了内模式向逻辑模式的转换。

    以上,就介绍了数据库系统中三级模式和两层映像,这也是数据库系统的标准结构。

    为什么要这样做

    为什么使用三级层次,两层映像的方式来设计数据库系统呢?或者说为什么要使用层次结构来设计数据库系统呢?

    这是为了保证两个独立性:逻辑数据独立性和物理数据独立性。
    所谓逻辑数据独立性,就是在逻辑模式上进行修改时,不必修改外部模式(应用程序),只需要修改 E-C 映像即可。
    所谓物理数据独立性,就是在物理模式发生变化时(采用不同的 DBMS,物理模式发生变化),不用修改概念模式,只需调整 C-I 映像。

    这就是数据库系统采用三级模式+两层映像的原因:某个层次上做出的修改,不用影响到其他的层,只需修改层与层之间的映像即可。

    总结

    本文从抽象的角度介绍了数据库系统中的几个概念:数据,模式和模型,以及数据库系统的分层设计思想,作为抽象的概念,它们不局限于某个具体的数据库系统实现,而是可以应用所有的数据库系统中,这对我们学习数据库系统,具有很好的指导作用,特别是分层设计的思想,很值得学习。

    完。

    相关文章

      网友评论

          本文标题:数据库系统原理之数据库系统的抽象

          本文链接:https://www.haomeiwen.com/subject/advxnftx.html