目录

  • 1 绪论
    • 1.1 数据库系统概述
      • 1.1.1 四个基本概念
      • 1.1.2 数据管理技术的产生和发展
    • 1.2 数据模型
      • 1.2.1 数据模型定义
      • 1.2.2 概念模型
      • 1.2.3 逻辑模型
    • 1.3 数据库系统的结构
    • 1.4 数据库系统的组成
    • 1.5 章节测验
    • 1.6 课程思政教学建议
  • 2 关系数据库
    • 2.1 关系数据库结构及形式化定义
    • 2.2 关系代数
    • 2.3 专门关系运算
    • 2.4 除运算和综合习题
    • 2.5 关系操作和完整性约束
    • 2.6 章节测验
    • 2.7 课程思政教学建议
  • 3 关系查询语言SQL
    • 3.1 数据定义语言
    • 3.2 数据增加
    • 3.3 数据修改
    • 3.4 数据查询
      • 3.4.1 单表查询
      • 3.4.2 多表连接查询
      • 3.4.3 集合查询
      • 3.4.4 分组聚集查询
      • 3.4.5 子查询
        • 3.4.5.1 ANY比较子查询
        • 3.4.5.2 IN子查询
        • 3.4.5.3 EXISTS子查询
    • 3.5 视图
      • 3.5.1 定义视图
      • 3.5.2 使用视图
    • 3.6 章节测验
  • 4 数据库安全性
    • 4.1 数据库安全性
    • 4.2 课程思政教学建议
  • 5 数据库完整性
    • 5.1 数据库完整性机制
    • 5.2 实体完整性
    • 5.3 参照完整性
    • 5.4 用户自定义完整性
    • 5.5 触发器
    • 5.6 完整性约束命名子句
    • 5.7 章节测验
  • 6 关系数据理论
    • 6.1 发现问题
    • 6.2 确定函数依赖
    • 6.3 判断最高属于第几范式
    • 6.4 Armstrong公理系统
    • 6.5 计算候选码
    • 6.6 求最小函数依赖集合
    • 6.7 模式分解算法
    • 6.8 判断是否无损分解
    • 6.9 综合问题求解
    • 6.10 章节测验
    • 6.11 课程思政教学建议
  • 7 数据库设计
    • 7.1 确定实体
    • 7.2 关系的多样性与多样约束
    • 7.3 数据库设计各个阶段
    • 7.4 数据库字典
    • 7.5 创建并检查ER模型
    • 7.6 将一对一关系ER模型映射为表
    • 7.7 将一对多及多对多关系ER模型映射为表
    • 7.8 为目标DBMS转换全局逻辑数据模型
    • 7.9 选择文件组织方式和索引
    • 7.10 设计用户视图
    • 7.11 引入受控冗余
    • 7.12 章节测验
  • 8 数据库编程
    • 8.1 数据库编程
  • 9 查询处理与查询优化
    • 9.1 查询处理步骤
    • 9.2 实现查询操作的算法示例
    • 9.3 查询优化的必要性
    • 9.4 关系代数语法树
    • 9.5 关系代数表达式等价变换规则
    • 9.6 关系代数优化算法示例
    • 9.7 章节测验
    • 9.8 课程思政教学建议
  • 10 备份与恢复
    • 10.1 事务的重要特性
    • 10.2 恢复实现技术
    • 10.3 事务故障恢复
    • 10.4 系统故障恢复
    • 10.5 章节测验
    • 10.6 课程思政教学建议
  • 11 并发控制
    • 11.1 为什么要进行并发控制
    • 11.2 封锁
    • 11.3 死锁
    • 11.4 可串行化调度
    • 11.5 两段锁协议
    • 11.6 章节测验
    • 11.7 课程思政教学建议
数据库系统的结构

从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。



数据库系统模式

  • 数据库逻辑结构和特征的描述

  • 是型的描述

  • 反映的是数据的结构及其联系

  • 模式是相对稳定的

数据库系统实例(Instance)

  • 数据库系统模式的一个具体值

  • 反映数据库某一时刻的状态

  • 同一个模式可以有很多实例

  • 实例随数据库中的数据的更新而变动


数据库系统的三级模式结构由模式、外模式、内模式构成。

模式

模式是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,综合了所有用户的需求。一个数据库只有一个模式。模式是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。

模式的定义

  • 数据的逻辑结构(数据项的名字、类型、取值范围等)

  • 数据之间的联系

  • 数据有关的安全性、完整性要求

外模式

外模式是数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式介于模式与应用之间。

内模式

内模式(也称存储模式)是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,包括记录的存储方式(顺序存储,按照B树结构存储, 按hash方法存储)以及索引的组织方式等。

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


为什么要采用三级模式结构呢?

为获得数据独立性:逻辑独立性和物理独立性。

二级映象在DBMS内部实现这三个抽象层次的联系和转换

  • 外模式/模式映像

  • 模式/内模式映像。


外模式/模式映象

保证数据的逻辑独立性

  • 当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变

  • 应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

模式/内模式映象

保证数据的物理独立性

  • 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变

  • 应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。