分层设计

主要分为3个层级

物理层

物理层就是描述 数据库如何存储记录,即 数据的实际存储方式,是 how

逻辑层

逻辑层就是描述 数据库中存储数据的结构以及它们之间的关系,即 存储了什么样的数据,是 what

视图层

视图层就是描述 数据的呈现方式,即 哪些数据应该被哪些用户看到,换句话说,不同的用户能够访问不同的数据,是 which

分层设计 如下:

1

这种设计就是数据库系统 抽象业务数据的方法,各层级之间相互影响小,也就是说改动的影响只局限在被改动的层级,而不会影响其他层级

这样做的好处是,我们可以隐藏数据库系统实现的细节,让用户访问他们能访问的,方便了以后系统功能的扩展等等

三级模式架构

模式

数据库的逻辑结构,其实就有点像是编程语言中的结构体、类这些,主要就是定义数据的结构(类型、关系等等)

三级模式

三级模式其实就对应着三个层级

  • 物理模式(内模式)

    数据库在 物理层 的设计

  • 逻辑模式(概念模式)

    数据库在 逻辑层 的设计

  • 子模式(外模式)

    数据库在 视图层 的设计,即 不同的视图

两级映射

  • 概念模式到内模式之间的映射

    可以想象一下,我们有一张表,表里记载了很多数据,我们编程或者访问这张表,其实访问的是逻辑层,然后通过概念模式到内模式之间的映射,实际获取到存储在数据库中的数据

    换句话说,逻辑层提供给我们访问的是 逻辑上连续 的数据,而实际上的数据可能是很分散的,这主要由物理层的设计决定

    总结就是,确保逻辑结构与物理存储之间的一致性,处理数据如何实际存储和访问

  • 外模式到概念模式之间的映射

    这个映射将用户视图(外模式)与数据库的概念结构(概念模式)关联起来

    它定义了用户如何通过其视图访问数据库中的数据,并确保视图中的数据正确映射到概念模式中的数据

三级模式架构图

2

数据独立性

  • 物理数据独立性

    物理层的修改不会影响或者说对逻辑层的影响小

  • 逻辑数据独立性

    逻辑层的修改不会影响或者说对视图层的影响小

三级模式架构的一个例子

3

我们可以看到,逻辑模式中,有各种各样的表,表中有各种各样的字段(即列),这些表之间可以通过相同的字段(即列)联系起来,比如说我们可以通过一个学生的姓名得到他的家长的名字,这就需要学生信息表和家属信息表(由学号联系起来)

在看到外模式,该模式下有各种各样的视图,针对不同的用户,可以看到这里也有学生信息表,但对比逻辑层中的学生信息表,我们发现少了几个字段,这就是一种视图(不让该用户看到学生的家庭电话等)

最后看到内模式,这个我也不知道咋讲,总之,它的存储方式并不是我们所设想的那样 有序就是了,我们通过概念模式到内模式的映射才能够访问这些 无序 的数据

 posted on 2024-08-30 22:59  Dylaris  阅读(306)  评论(0)    收藏  举报