大叔自由人

软考 / 架构师 / 第3章

数据库系统

章节概述

数据库是现代应用系统的核心。本章系统讲解数据库模式与范式、数据库设计流程、事务管理与并发控制、备份恢复、分布式数据库、数据仓库与数据挖掘、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|
遗留系统技术水平评价
OR = (P₁·OR_H + P₂·OR_S + P₃·OR_F + P₄·OR_A) / 4
OR_H=硬件, OR_S=支撑软件, OR_F=企业基础设施, OR_A=应用软件, Pᵢ=权系数
分布式数据库六层模式结构
全局外模式 → 全局概念模式 → 分片模式 → 分布模式 → 局部概念模式 → 局部内模式
分片透明 > 位置透明 > 局部数据模型透明