本文所属《数据库系统原理》分类专栏,相关文章导航请点击《数据库系统原理》目录汇总贴

第3节 数据库系统的结构

数据库模式的概念

  1. “型”和“值”的概念
    (1)型(Type):对某一类数据的结构和属性的说明
    (2)值(Value):是型的一个具体赋值

  2. 模式(Schema)
    (1)数据库逻辑结构和特征的描述
    (2)是型的描述,不涉及具体的值
    (3)反映的数据的结构及其联系
    (4)模式是相对稳定

  3. 实例(Instance)
    (1)模式的一个具体值
    (2)反映数据库某一时刻的状态
    (3)同一个模式可以有多个实例
    (4)实例随数据库中的数据的更新而变动

1.3.1 数据库系统模式的概念.png


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

1.3.2 数据库系统的三级模式结构(图示).png

1. 模式(Schema)

(1)也称为逻辑模式
• 数据库中全体数据的逻辑结构和特征的描述
• 所有用户的公共数据视图

(2)一个数据库只有一个模式

(3)模式的地位:是数据库系统模式结构的中间层
• 与数据物理存储细节和硬件环境无关
• 与具体的应用程序、开发工具机高级程序设计语言无关

(4)模式的定义
• 数据的逻辑结构(数据项的名字、类型、取值范围)
• 数据之间的联系
• 数据有关的安全性、完整性要求

2. 外模式(External Schema)

(1)也称为子模式或为用户模式
• 数据用户使用局部数据的逻辑结构和特征的描述
• 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

(2)外模式的地位:介于模式与应用之间
• 模式与外模式的关系:一对多
• 外模式通常是模式的子集
• 一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据的保密的要求
• 对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同

(3)外模式与应用的关系:一对多
• 同一外模式可以为某一用户的多个应用系统所使用
• 但一个应用程序只能使用一个外模式

(4)外模式的用途
• 保证数据库安全性的一个有力措施
• 每个用户只能看见和访问所对应的外模式中的数据

3. 内模式(Internal Schema)

(1)也称为存储模式
• 是数据物理结构和存储方式的描述

(2)是数据在数据库内部的表示方式
• 记录的存储方式
• 索引的组织方式
• 数据是否压缩存储
• 数据是否加密
• 数据存储记录结构的规定

(3)一个数据库只有一个内模式

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


数据库的二级映像功能与数据独立性

  1. 三级模式是对数据的三个抽象级别

  2. 二级映象在数据库管理系统内部实现的三个抽象层次的联系和转换
    (1)外模式/模式映象
    (2)模式/内模式映象

  3. 外模式/模式映像
    (1)模式:描述的数据的全局逻辑结构
    (2)外模式:描述的是数据的局部逻辑结构
    (3)同一个模式可以有任意多个外模式
    (4)每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系
    (5)映像定义通常包含在各自外模式的描述中
    (6)保证数据的逻辑独立性
    • 当模式改变时,数据库管理员对外模式/模式映象作相应改变,使外模式保持不变
    • 应用程序是依据数据的外模式编写,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性

  4. 模式/内模式
    (1)模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系
    (2)数据库中模式/内模式映象是唯一的
    (3)该映象定义通常包含在模式描述中
    (4)保证数据的物理独立性
    • 当数据库的存储结构改变,数据库管理员修改模式/内模式映象,使模式保持不变
    • 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性

  5. 数据库模式
    (1)即全局逻辑结构是数据库的中心与关键
    (2)独立于数据库的其他层次
    (3)设计数据库模式结构时应首先确定数据库的逻辑模式

  6. 数据库的内模式
    (1)依赖于它的全局逻辑结构
    (2)独立于数据库的用户视图,即外模式
    (3)独立于具体的存储设备
    (4)将全局逻辑结构中所定义的数据结构及联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率

  7. 数据库的外模式
    (1)面向具体的应用程序
    (2)定义在逻辑模式之上
    (3)独立于存储模式和存储设备
    (4)但应用需求发生较大变化,相应外模式不能满足器视图需求时,该外模式就得做出相应的改动
    (5)设计外模式时应充分考虑到应用的扩充性

  8. 特定的应用程序
    (1)在外模式描述的数据结构上编制的
    (2)依赖于特定的外模式
    (3)与数据库的模式和存储结构独立
    (4)不同的应用程序有时可以公用一个外模式

  9. 数据库的二级映象
    (1)保证了数据库外模式的稳定性
    (2)从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改

  10. 数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去

  11. 数据存取由数据库管理系统管理
    (1)简化了应用程序的编制
    (2)减少了应用程序的维护和修改

1.3.3 数据库的二级映像功能与数据独立性.png


本文思维导图源自:

CSDN - 【数据库系统概论】第一章 绪论 1.3 数据库系统结构