0%

数原 1.3 数据系统的结构

在一个数据库系统中,不同的用户从不同的角度看待数据库,会形成不同的视图结构。

  • 从DBA的角度来看, 数据库系统分为:
    • 内部系统结构:
      • 模式
      • 外模式
      • 内模式
    • 外部系统结构:
      • 集中式结构
      • 分布式结构
      • 并行结构
  • 从数据库系统的用户(如应用程序开发人员)来看——数据系统的运行和应用结构
    • 客户/服务器结构,CS
    • 浏览器/服务器结构,BS

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

所有的DBMS都遵循美国 ANSI/SPARC 数据库管理研究组提出的三级模式结构:外模式(用户级)、模式(概念级)、内模式(物理级)。

1.模式,概念模式,逻辑模式,Schema

模式:是数据库中全体数据的逻辑结构和特征的描述,是数据库的全局概念视图。

模式定义了数据的逻辑结构、数据之间的联系,以及数据的安全性、完整性要求。

模式与数据的物理存储细节、硬件环境无关,也与具体的应用程序、开发工具、开发语言无关。

一个数据库只能有一个模式。

P.S. 模式可以简单的理解为 表、主键、外键、视图、约束等,并且属于所有用户(不属于特定用户)。

2.外模式,子模式,用户模式,subSchema

外模式:是数据库用户(包括程序员和终端用户)能够看见和使用的,局部数据的逻辑结构和特征的描述。

外模式是用户视图,是模式的子集,它和某个应用所需的数据紧密联系。

外模式还能够对模式的局部数据重构。
模式中同样的数据,在外模式中其结构、类型、长度、权限都可以不同。

外模式可以保证数据库安全,还可以简化数据库系统的用户接口,并支持了数据的独立性和共享性。

3.内模式,存储模式,storage schema

内模式:是对数据库中数据的物理结构和存储方式的描述,是数据在数据库内部的表示形式。

内模式是数据库的最底层,但并非物理层!它仍然属于逻辑描述,比如:
记录、索引、文件的组织方式,存储数据时采用顺序结构存储还是B树结构存储,数据是否压缩是否加密等。
而非具体的物理方法:柱面、磁道的大小等,那些属于文件系统的范畴。

4. 三级模式结构的两层映像,与数据独立性

三级模式是对数据的三级抽象,三级抽象具有如下的特点:

  • 概念模式独立于内模式和外模式(它只和业务相关),是数据库的核心,也是数据库设计的关键
  • 内模式依赖于概念模式,但独立于外模式和存储设备。
  • 外模式依赖于模式和具体的应用程序,独立于内模式和存储设备。
  • 应用程序依赖于外模式,独立于模式和内模式

为了有效支撑三级抽象,DBMS提供了两层映像(映像就是对应规则,指出双方如何转换的)

  • 外模式/模式映像:定义了各个外模式和模式之间的映像关系,这些映像存在于外模式中。每一个外模式都有一个外模式/模式映像。如果模式发生变化,DBA会对各个外模式/模式映像进行更新,以尽量保持外模式不变,实现数据与程序的逻辑独立性。
  • 模式/内模式映像:定义了概念模式和内模式之间的对应关系,通常存在于概念模式中。模式/内模式映像只有一个。当内模式发生改变时,DBA会修改模式/内模式映像,使模式保持不变,实现了数据与程序的物理独立性。

二、数据库系统的运行与应用结构

1. 客户/服务器结构,CS

  • 客户端/前台/表示层:命令行客户端、GUI管理工具、应用程序
  • 服务器/后台/数据层:DBMS

2. 浏览器/服务器结构,BS

BS结构:基于WEB应用的客户/服务器结构,也称为”三层结构“。

  • 表示层:数据库使用者的操作和展示界面,通常指浏览器。
  • 处理层:也称为中间层,负责处理具体的应用逻辑。
  • 数据层:DBMS。

处理层+ 数据层,称为”胖服务器“。

-------------本文结束,感谢您的阅读-------------