易君召
发布于 2026-08-10 / 作者:易君召 / 2 阅读
0

系统分析师教程(第 2 版)第 5 章 数据库系统 全解析

本章是软考高级系统分析师的核心知识章节,覆盖数据库基础理论、控制技术、设计方法及前沿架构,在上午综合知识、下午案例分析中均为高频考查点,部分年份也可作为论文写作主题。以下从主要内容、考点考情、重难点解析三个维度详细说明。

一、本章主要内容

依据官方第 2 版教材章节结构,本章共分为 7 大核心模块,完整覆盖数据库从基础理论到工程应用的全链条知识,同步补充非关系型数据库拓展内容。

5.1 数据库管理系统

5.1.1 概述

数据库是长期存储在计算机内、有组织、可共享的数据集合。完整的数据库系统由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员(DBA)、终端用户五部分构成。

DBMS 是数据库系统的核心管理软件,提供数据定义语言(DDL)、数据操作语言(DML),承担数据组织、存储、管理、控制与维护的核心职能。

5.1.2 三级划分法(三级模式两级映射)

这是数据库系统体系结构的核心框架,通过分层抽象实现数据独立性,是本章基础核心考点:

  • 三级模式

    • 外模式(用户模式):用户视角的数据视图,对应数据库视图,一个数据库可对应多个外模式

    • 概念模式(模式):全局逻辑结构描述,对应基本表,一个数据库只有一个概念模式

    • 内模式(存储模式):数据物理存储结构与方式的描述,对应物理存储文件,一个数据库只有一个内模式

  • 两级映射

    • 外模式 - 概念模式映射:实现逻辑独立性,当表的逻辑结构变更时,仅需调整映射关系,外模式与上层应用程序无需修改

    • 概念模式 - 内模式映射:实现物理独立性,当数据物理存储方式变更时,仅需调整映射关系,逻辑结构与应用程序无需修改

5.1.3 数据模型

数据模型是对现实世界数据特征的抽象,核心三要素为数据结构、数据操作、数据约束。

  • 经典逻辑数据模型:层次模型、网状模型、关系模型(当前主流)、面向对象模型

  • 概念模型:用于需求与概念设计阶段,以 E-R(实体 - 联系)模型为核心代表

5.2 关系数据库

5.2.1 关系的基本概念

核心术语包括属性、域、元组、候选码、主码、外码、主属性、非主属性、全码、关系的度(属性个数)。其中候选码、主码、外码是完整性约束与规范化设计的基础概念。

5.2.2 关系模型

  • 关系代数:关系操作的理论基础,包括集合运算(并、差、交、笛卡尔积)和专门的关系运算(选择、投影、连接、除运算)

  • 完整性约束体系:实体完整性(主码非空且唯一)、参照完整性(外码取值约束)、用户定义完整性(业务自定义规则)

5.2.3 规范化理论

核心目标是消除数据冗余、解决插入 / 删除 / 更新异常,通过范式分级实现设计标准化:

  • 1NF(第一范式):属性具有原子性,不可再分,是关系表的基础要求

  • 2NF(第二范式):在 1NF 基础上,消除非主属性对候选码的部分函数依赖

  • 3NF(第三范式):在 2NF 基础上,消除非主属性对候选码的传递函数依赖

  • BCNF(巴斯范式):在 3NF 基础上,消除主属性对候选码的部分 / 传递函数依赖,所有决定因素都包含候选码

  • 4NF、5NF:针对多值依赖、连接依赖的更高层规范

  • 模式分解两大原则:无损连接性、保持函数依赖

5.3 数据库控制功能

5.3.1 并发控制

  • 事务是数据库操作的最小逻辑单元,具备ACID 四大特性:原子性、一致性、隔离性、持久性

  • 并发操作会引发三类异常:丢失更新、读脏数据、不可重复读(含幻读)

  • 核心解决技术:封锁机制

    • 排他锁(X 锁 / 写锁):加锁后仅当前事务可读写,其他事务不能加任何锁

    • 共享锁(S 锁 / 读锁):加锁后仅当前事务可读,其他事务可加 S 锁但不可加 X 锁

  • 三级封锁协议、两段锁协议(保证调度可串行化的充分条件)

5.3.2 数据库的完整性

  • 完整性约束分类:按作用对象分为列级、元组级、关系级;按触发时机分为立即执行约束、延迟执行约束

  • 完整性规则五元组表示:约束对象、触发操作、语义断言、作用谓词、违规处理

  • 触发器:比普通约束更强的完整性机制,可主动执行操作消除违规影响

5.3.3 数据库的安全性

核心安全措施层级:用户标识与鉴别、存取授权、视图隔离、审计追踪、数据加密,通过多层防护保障数据不被非法访问与篡改。

5.3.4 备份与恢复技术

  • 四类数据故障:事务故障、系统故障、介质故障、计算机病毒

  • 核心恢复机制:日志文件、数据备份、检查点技术

  • 不同故障对应不同恢复流程,核心操作是撤销(UNDO)和重做(REDO)

5.3.5 数据库性能优化

涵盖索引优化、SQL 语句优化、存储过程优化、事务优化、分区分表、读写分离、缓存引入等多种工程化手段。

5.4 数据库设计与建模

5.4.1 数据库设计阶段

完整设计流程分为 6 个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、运行与维护,各阶段有明确的交付物与核心任务。

5.4.2 实体联系模型(E-R 模型)

  • 核心要素:实体、属性、联系(一对一、一对多、多对多)

  • 核心技能:E-R 图绘制、E-R 模型向关系模型的转换规则

  • 拓展概念:弱实体、聚合、泛化等高级 E-R 设计

5.5 分布式数据库系统

5.5.1 概述

分布式数据库是数据分布在不同物理节点、通过网络互联的数据库系统,具备分布性、共享性、自治性、高可用性四大核心特点。

体系结构分为六层:全局外模式、全局概念模式、分片模式、分配模式、局部概念模式、局部内模式。

5.5.2 数据分片

  • 三种分片方式:水平分片(按行拆分)、垂直分片(按列拆分)、混合分片

  • 分片原则:完备性、可重构性、不相交性

  • 分布透明性:分片透明、位置透明、局部数据模型透明

5.6 数据仓库技术

5.6.1 数据仓库概述

数据仓库是面向主题的、集成的、相对稳定的、反映历史变化的数据集合,用于支持管理决策。与面向日常事务的操作型数据库(OLTP)形成鲜明对比。

5.6.2 联机分析处理(OLAP)

OLAP 是数据仓库的核心应用方式,支持复杂多维分析,核心操作包括钻取(上卷、下钻)、切片、切块、旋转。

5.6.3 数据仓库设计方法

  • 星型模型:事实表 + 维度表,最常用,查询效率高

  • 雪花模型:维度表进一步规范化,存储空间小但查询复杂度高

  • 事实星座模型:多个事实表共享维度表,适用于复杂主题

5.7 数据挖掘技术

从海量数据中挖掘潜在规律与价值,核心技术包括关联规则挖掘、聚类分析、分类预测、时序模式等,典型算法如 Apriori、K-Means、决策树。

拓展:非关系型数据库(NoSQL)

作为关系数据库的补充技术,教材同步覆盖 NoSQL 相关内容:

  • 核心理论:CAP 定理、BASE 理论(基本可用、软状态、最终一致性)

  • 四大分类:键值存储(Redis)、文档存储(MongoDB)、列族存储(HBase)、图存储(Neo4j)

  • 适用场景:高并发读写、海量数据存储、灵活数据模型等传统关系数据库瓶颈场景

系统分析师教程(第 2 版)—05.png

二、主要考点与考情分析

本章是系统分析师考试的核心分值章节,上午综合知识占 4-6 分,下午案例分析常作为独立大题(25 分)考查,论文写作也可作为选题方向。

1. 综合知识(上午选择题)考点分布

高频必考考点(每年 2-4 分)

  • 三级模式两级映射:模式层级辨析、映射与数据独立性的对应关系

  • 规范化理论:候选码计算、函数依赖推导、1NF~BCNF 范式判定

  • 事务与并发控制:ACID 特性、封锁类型与协议、并发异常的解决方案

  • 故障与恢复:故障类型判断、UNDO/REDO 适用场景、检查点机制

  • NoSQL 与分布式:CAP/BASE 理论、NoSQL 分类与典型产品、数据分片方式

次高频考点

  • 关系代数运算:表达式等价转换、运算结果计算

  • 数据库设计流程:各阶段核心任务、E-R 图转关系模式规则

  • 数据库安全与完整性:安全措施层级、完整性约束分类

  • 数据仓库:核心特征、OLAP 与 OLTP 区别、星型 / 雪花模型辨析

考情趋势

近年命题逐步向工程实践倾斜,新增主从复制、读写分离、索引优化、数据库架构选型等贴合实际系统设计的考点,纯理论记忆题占比下降。

2. 案例分析(下午案例题)考点

数据库是案例分析的常规考查大题(通常为试题四),分值 25 分,以场景分析、方案设计、问题诊断为主要考查形式。历年核心考点如下:

考试年份

核心考查知识点

题型

2018 年

视图的概念与应用、数据库规范化设计、事务与触发器、物化视图

简答题

2019 年

读写分离与主从复制、SQL 与 NoSQL 特性对比、混合架构数据同步方案

填空 + 简答

2020 年

索引过多的副作用、数据库物理分区模式对比与选型

简答 + 填空

2022 年

两段锁协议、事务并发一致性、调度可串行化分析

分析 + 简答

2023 年

NoSQL 技术特点、数据库镜像、数据模型选型对比

填空 + 简答

2024 年

BCNF 模式分解、SQL 性能优化、反规范化设计、触发器应用

分析 + 简答

案例题命题规律:通常以一个真实业务系统为背景,结合设计缺陷、性能问题、架构升级三类场景设问,既考查理论基础,也要求具备实际问题分析与方案设计能力。

3. 论文写作考点

本章可延伸的论文主题包括:数据库系统架构设计、数据库性能优化实践、分布式数据库设计、数据仓库建设方案、混合数据库架构设计等,要求结合具体项目阐述设计思路、关键技术与实施效果。

三、重难点解析

1. 基础概念难点:三级模式与数据独立性

易错点

  • 混淆两级映射分别对应的独立性

  • 无法区分三级模式对应的实际数据库对象(视图 / 基本表 / 物理文件)

深度解析

  • 对应关系:外模式对应视图(用户级)、概念模式对应基本表(全局逻辑级)、内模式对应物理存储文件(物理级)

  • 独立性逻辑

    • 逻辑独立性:表结构(概念模式)变化 → 修改外模式 - 概念模式映射 → 外模式不变 → 基于视图的应用程序不变

    • 物理独立性:存储结构(内模式)变化 → 修改概念模式 - 内模式映射 → 概念模式不变 → 上层逻辑与应用不变

  • 记忆口诀:外逻内物—— 外模式映射保障逻辑独立,内模式映射保障物理独立

2. 计算分析难点:规范化范式判定

难点

候选码计算、函数依赖推导、BCNF 与 3NF 的边界区分、模式分解原则判断

解题标准步骤

  1. 计算候选码:使用属性闭包法,找到能推导出全部属性的最小属性组

  2. 区分属性类型:候选码包含的属性为主属性,其余为非主属性

  3. 逐级范式判定

    • 1NF:检查所有属性是否满足原子性

    • 2NF:检查是否存在非主属性对候选码的部分函数依赖(仅复合候选码可能违反)

    • 3NF:检查是否存在非主属性对候选码的传递函数依赖

    • BCNF:检查所有函数依赖的左部是否都包含候选码

  • 关键区别:3NF 仅约束非主属性,允许主属性对候选码的传递 / 部分依赖;BCNF 约束所有属性,是更严格的范式。

3. 并发控制难点:封锁协议与可串行化

易错点

三级封锁协议各自解决的问题混淆、两段锁协议的作用与局限性认知错误

对比解析

封锁协议

加锁规则

解决的并发问题

一级封锁协议

修改数据前加 X 锁,事务结束后释放

丢失更新

二级封锁协议

一级基础上,读数据前加 S 锁,读完立即释放

丢失更新、读脏数据

三级封锁协议

一级基础上,读数据前加 S 锁,事务结束后释放

丢失更新、读脏数据、不可重复读

  • 两段锁协议:事务分为加锁阶段(仅加锁不解锁)和解锁阶段(仅解锁不加锁),是调度可串行化的充分非必要条件,但不能避免死锁。

4. 故障恢复难点:四类故障恢复流程

难点

不同故障的恢复步骤混淆,检查点机制的作用逻辑不清晰

核心恢复逻辑

  1. 事务故障:单个事务执行异常,反向扫描日志,对更新操作执行逆操作(UNDO),系统自动完成

  2. 系统故障:系统崩溃导致内存数据丢失,正向扫描日志划分 UNDO 队列(未提交事务)和 REDO 队列(已提交事务),先撤销未提交事务,再重做已提交事务

  3. 介质故障:磁盘物理损坏,先载入最新的完整备份,再通过日志重做备份后所有已提交事务

  4. 检查点技术:定期记录数据库一致性状态,减少故障恢复时扫描日志的范围,提升恢复效率

5. 架构设计难点:分布式数据库与 NoSQL 选型

难点

数据分片方式辨析、CAP 理论的实际权衡、NoSQL 场景选型

核心要点

  • 数据分片区分

    • 水平分片:按行拆分,分片结构完全相同,适用于数据量横向扩容

    • 垂直分片:按列拆分,分片包含不同属性,适用于大表字段解耦

  • CAP 定理:分布式系统中一致性、可用性、分区容错性不可同时满足,分区容错性(P)是分布式系统的前提,实际只能在 CP(强一致)和 AP(高可用)之间权衡

  • NoSQL 选型原则

    • 缓存、会话存储 → 键值型(Redis)

    • 半结构化数据、内容管理 → 文档型(MongoDB)

    • 海量数据离线分析 → 列族型(HBase)

    • 社交关系、路径推荐 → 图型(Neo4j)

6. 工程实践难点:性能优化与权衡

易错点

认为索引越多查询越快、盲目反规范化忽略一致性风险

深度解析

  • 索引的两面性:索引能显著提升查询性能,但会增加存储空间,降低插入、更新、删除操作的性能(需同步维护索引),需根据读写比例合理设计

  • 反规范化的适用边界:通过增加数据冗余、合并表来减少表连接,提升读性能;代价是增加数据一致性维护成本,仅适用于读多写少、对一致性要求不极端的场景


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/system-analyst-tutorial-2nd-edition-chapter-5-database-systems-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/