章节概述
数据库是现代应用系统的核心。本章系统讲解数据库模式与范式、数据库设计流程、事务管理与并发控制、备份恢复、分布式数据库、数据仓库与数据挖掘、NoSQL 和大数据。重点掌握三级模式两级独立性、规范化理论(1NF~BCNF)、E-R 模型转换规则、事务 ACID 特性与封锁协议。
知识结构框架
- 3.1 数据库管理系统类型(关系型/文档型/键值型/对象型)
- 3.2 数据库模式与范式
- 3.2.1 三级抽象与三级模式(外模式/概念模式/内模式)
- 3.2.2 数据模型(层次/网状/关系/面向对象)与关系代数
- 3.2.4 数据规范化(1NF/2NF/3NF/BCNF)
- 3.2.5 反规范化(增加冗余列/派生列/分割表)
- 3.3 数据库设计
- 需求分析 → 概念结构设计 → 逻辑结构设计 → 物理结构设计
- E-R 模型转换规则(1:1/1:n/m:n/多元/自联系/弱实体)
- 3.4 事务管理(ACID 特性、并发控制与封锁协议、故障与恢复)
- 3.5 备份与恢复(物理/逻辑备份、完全/增量/累积备份)
- 3.6 分布式数据库系统(六层模式结构、分布透明性、DDBMS 组成)
- 3.7 数据仓库(面向主题/集成/相对稳定/随时间变化)
- 3.8 数据挖掘(关联/序列/分类/聚类/预测/时间序列)
- 3.9 NoSQL(易扩展/大数据量/灵活数据模型/高可用)
- 3.10 大数据(4V 特征:Volume/Variety/Value/Velocity)
核心概念定义
三级模式与两级独立性
| 模式层级 | 别称 | 描述 | 数量 |
|---|---|---|---|
| 外模式 | 子模式/用户模式 | 用户看到的局部数据逻辑结构 | 多个 |
| 概念模式 | 模式/逻辑模式 | 全局数据逻辑结构(中心与关键) | 一个 |
| 内模式 | — | 数据物理结构和存储方式 | 一个 |
- 物理独立性:模式-内模式映射,物理存储改变时应用程序不变
- 逻辑独立性:外模式-模式映射,逻辑结构改变时应用程序不变(更难实现)
规范化理论
| 范式 | 要求 | 消除的问题 |
|---|---|---|
| 1NF | 属性不可再分(原子性) | 非结构化数据 |
| 2NF | 非主属性完全依赖于码 | 部分函数依赖 |
| 3NF | 非主属性不传递依赖于码 | 传递函数依赖 |
| BCNF | 每个函数依赖的决定因素都包含码 | 主属性间的函数依赖 |
规范化分解须遵守两个准则:无损连接性(信息不失真)和函数依赖保持性(不破坏依赖关系)。
事务 ACID 特性
- A(原子性):事务是不可分割的工作单位,要么全做要么全不做
- C(一致性):使数据库从一个一致性状态变到另一个
- I(隔离性):一个事务的执行不能被其他事务干扰
- D(持久性):提交后改变是永久性的
封锁协议
| 协议级别 | 规则 | 防止的问题 |
|---|---|---|
| 一级 | 写前加 X 锁,事务结束释放 | 丢失修改 |
| 二级 | 一级+读前加 S 锁,读后释放 | 丢失修改+读脏数据 |
| 三级 | 一级+读前加 S 锁,事务结束释放 | 丢失修改+读脏+不可重复读 |
| 两段锁 | 扩展阶段加锁,收缩阶段解锁 | 保证可串行化(可能死锁) |
数据仓库特性
- 面向主题:按主题域组织,区别于面向应用的操作型数据库
- 集成的:消除源数据不一致性,形成全局一致信息
- 相对稳定的:查询为主,修改删除少,定期加载刷新
- 随时间变化:包含历史信息,时间期限远长于操作型系统
大数据 4V 特征
- Volume:数据体量巨大(TB→PB→EB→ZB)
- Variety:数据类型繁多(结构化+非结构化)
- Value:价值密度低
- Velocity:处理速度快
关键公式与模型
关系代数基本运算
并(∪)、差(-)、交(∩)、笛卡尔积(×)、选择(σ)、投影(π)、连接(⋈)、除(÷)
R∩S = R-(R-S) = S-(S-R);R×S 元组数 = |R|×|S|
并(∪)、差(-)、交(∩)、笛卡尔积(×)、选择(σ)、投影(π)、连接(⋈)、除(÷)
R∩S = R-(R-S) = S-(S-R);R×S 元组数 = |R|×|S|
遗留系统技术水平评价
OR = (P₁·OR_H + P₂·OR_S + P₃·OR_F + P₄·OR_A) / 4
OR_H=硬件, OR_S=支撑软件, OR_F=企业基础设施, OR_A=应用软件, Pᵢ=权系数
OR = (P₁·OR_H + P₂·OR_S + P₃·OR_F + P₄·OR_A) / 4
OR_H=硬件, OR_S=支撑软件, OR_F=企业基础设施, OR_A=应用软件, Pᵢ=权系数
分布式数据库六层模式结构
全局外模式 → 全局概念模式 → 分片模式 → 分布模式 → 局部概念模式 → 局部内模式
分片透明 > 位置透明 > 局部数据模型透明
全局外模式 → 全局概念模式 → 分片模式 → 分布模式 → 局部概念模式 → 局部内模式
分片透明 > 位置透明 > 局部数据模型透明
SVG 图表参考
- 图3-1 数据库三级模式结构
- 图3-2 基于 3NF 的数据库设计方法
- 图3-3 数据库设计基本步骤
- 图3-4 实体间二元联系
- 图3-5 多元联系(部件-工程-供应商)
- 图3-6 弱实体类联系
- 图3-7 数据库物理设计过程
- 图3-8 分布式数据库六层模式结构
- 图3-9 DDBMS 结构
- 图3-10 数据仓库概念结构
- 图3-11 数据仓库参考框架
- 图3-12 数据仓库架构
- 图3-13 数据挖掘环境
- 图3-14 —
- 图3-15 —
- 图3-16 —
考试要点
- 三级模式与两级独立性(逻辑独立性比物理独立性更难实现)
- 范式判断与分解(1NF~BCNF 的条件与消除的依赖类型)
- E-R 模型向关系模型转换规则(1:1/1:n/m:n/多元联系)
- 事务 ACID 特性与封锁协议三级
- 并发控制问题:丢失更新、不一致分析(脏读)、不可重复读
- 故障恢复策略:事务故障(Undo)、系统故障(Undo+Redo)、介质故障(重装+Redo)
- 分布式数据库分布透明性三层:分片>位置>局部数据模型
- 数据仓库四大特性与 OLAP(ROLAP/MOLAP/HOLAP)
- 反规范化技术(增加冗余列/派生列/重新组表/水平分割/垂直分割)