数据库系统
章节概述
数据库是现代应用系统的核心。本章系统讲解数据库模式与范式、数据库设计流程、事务管理与并发控制、备份恢复、分布式数据库、数据仓库与数据挖掘、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ᵢ=权系数
分布式数据库六层模式结构
全局外模式 → 全局概念模式 → 分片模式 → 分布模式 → 局部概念模式 → 局部内模式
分片透明 > 位置透明 > 局部数据模型透明
全局外模式 → 全局概念模式 → 分片模式 → 分布模式 → 局部概念模式 → 局部内模式
分片透明 > 位置透明 > 局部数据模型透明