乐趣区

关于数据库:数据库系统2数据库系统的模式与模型

数据库系统的规范构造

数据库系统的分层形象

DBMS 治理数据的三个档次

  • User Level:用户档次。某一用户可能看到、解决数据,全局数据中的某一部分;
  • Logic Level:逻辑 / 概念档次。从全局角度了解 / 治理的数据。含相干的关联束缚;
  • Physical Level:物理档次。存储在介质上的数据,含存储门路、存储形式、索引形式。

数据(视图)与模式

模式

对数据库中数据所进行的一种结构型的形容。

以 mysql 为例,输出 desc citizen 查看到的表构造就是模式

image-20200718203624750

视图 / 数据

某一种示意模式下体现进去的数据库中的数据,也就是模式的具象化

image-20200718203822444

三级模式两层映像

三级模式(三级视图)

  • External Schema——(External) View:内部模式(视图)。某一用户可能看到与解决的数据的构造形容。作用与应用程序(表的形象)。个别状况下咱们说的视图就是这一层面;
  • (Conceptual) Schema——Conceptual View:概念模式(视图)。从全局角度了解 / 治理数据的构造形容,含相应的关联束缚,体现在数据之间的外在实质分割。作用于 DBMS 层面(表的治理)。个别状况下咱们说的模式就是这一层面;
  • Internal Schema——Internal VIew:外部模式(视图)。存储在介质上的数据的构造形容,含存储门路、存储形式、索引形式等。作用与数据库(表的存储)

两层映像

模式之间构造是不雷同的,是无奈简略关联在一起的。因而咱们须要引入新的概念:映像(Mapping)

由上文可知,咱们须要两个映像将三个模式关联起来:

  • E-C Mapping:将外模式映射为概念模式,从而反对实现数据概念视图向内部视图的转换,便于用户察看和应用。
  • C-I Mapping:将概念模式映射为内模式,从而反对是事实护具概念视图向外部视图的转换,便于计算机进行存储和解决

为什么须要这么设计?

三级模式与两层映像组成了咱们数据库的规范构造。用户本人定义三层视图,由 DBMS 帮忙咱们实现两层映射的实现。在理论利用中,应用程序实际上只对外部视图进行操作。

那为什么须要这么设计呢?

实际上是遵循「两个独立性」

  • 逻辑数据独立性

    当概念模式变动时,能够不扭转内部模式(只须要扭转 E -C Mapping),从而无需扭转应用程序,缩小耦合度。

  • 物理数据独立性

    当外部模式变动是,同样只需扭转 C -I Mapping,从而不扭转概念模式,也不须要扭转内部模式。

数据模型

概念

数据模型是规定模式对立形容形式的模型,包含 数据结构 操作 束缚。模型是对模式自身的形象,而模式是对数据的形象。

例如:关系模型就是对 「一类」 数据有分割的形象表模式的模式。关系模型中就是对模型中蕴含的模式做出要求:每一个具体的模式都领有不同列名的具体的表,规定了对这类表能够进行哪些操作和束缚。

三大经典数据模型

  • 关系模型:表的模式组织数据;
  • 层次模型:树的模式组织数据。通常用来示意两个节点(实体型)之间的分割(系型)。查问效率高,然而构造不够灵便;
  • 网状模型:图的模式组织数据。多个节点之间的分割。示意事实中的关系很清晰明了,然而实现太过简单,保护不易。
退出移动版