软考高级系统架构师案例分析,数据库板块是每年必考大题,分值稳定、考点套路清晰,把基础概念吃透,拿分性价比极高。
数据库篇一共规划 10 集,从数据库设计、范式规范化一路讲到 Redis、分布式锁、NoSQL 选型,最后加更向量数据库。本次一次性更新前两集,帮大家筑牢数据库案例题的底层根基。
💡配套课件 + XMind 知识架构图,gz号回复【思维导图】获取全集 xmind,回复【B站课件】获取全部课件
观看渠道:B 站搜索【自传‑软考架构师】,进入合集「案例分析‑数据库篇」观看。

📌第 3-1 集|数据库设计与规范化|三大异常 + 反规范化四方法
本集核心考点:数据库设计四阶段、规范化范式、三大异常、反规范化手段、数据不一致解决方案,附带2020 年 11 月真题完整拆解。
1. 数据库设计四大阶段(高频填空)
-
需求分析
输入:当前 + 未来的数据需求、数据处理需求 输出:数据流图、数据字典、需求说明书
-
概念结构设计
使用 E‑R 模型表达,核心是实体、属性、实体间关系,案例题 E‑R 图考点就在这里。
-
逻辑结构设计⭐真题重点
输入:E‑R 图、转换规则、规范化理论 输出:关系模式、视图、完整性约束 任务:确定数据模型、E‑R 转关系、定义约束、设计用户视图。
-
物理设计
结合 DBMS、硬件、操作系统,设计存储策略、索引、访问方案。
记忆提示:逻辑设计是承上启下的关键,2020 下半年真题直接在这里出题。
2. 规范化(范式理论)
规范化本质:不断拆分数据表,降低依赖,消除异常
-
1NF:属性原子不可再分
-
1NF→2NF:消除非主属性对候选键的部分依赖
-
2NF→3NF:消除非主属性对候选键的传递依赖
-
3NF→BCNF:消除主属性的部分 / 传递依赖
三大异常(简答必背)
-
删除异常:删除某条记录,连带删掉其他有效信息
-
修改异常:同一数据多份存储,修改时需要多处更新,漏改就不一致
-
数据冗余:相同信息重复存储,浪费空间
规范化代价:表拆得越碎,查询时多表连接变多,查询性能下降。为了解决性能问题,就引出「反规范化」。
3. 反规范化 4 种方法
反规范化:在规范化基础上主动回退,用空间换查询速度
-
增加派生性冗余列(例:订单表增加总金额,由单价 × 数量计算得到)
-
增加冗余列(例:订单明细冗余商品名称,省去联表查询)
-
重新组表:把高频联合查询的多张表合并为宽表
-
水平分割表:按时间 / 范围拆表,如订单_2023、订单_2024
缺点:引入冗余,有数据不一致风险,增删改变慢;水平拆分还会提升程序复杂度。
4. 反规范化|数据不一致 3 套兜底方案
简答直接默写:
-
触发器同步
:数据库层自动触发更新,实时性最好
-
应用程序同步
:业务代码中同时更新多表,灵活,强依赖开发规范
-
批处理同步
:定时任务批量对账,实现简单,存在时间延迟,适合容忍短暂不一致场景
✍️真题精讲|2020.11 真题
- 逻辑数据模型设计包含哪些任务?
①确定数据模型;②E‑R 图转换为指定数据模型;③定义完整性约束;④确定用户视图。
-
超类实体:提取多个实体的公共属性生成新实体,原有实体作为子类继承。
-
派生属性:属性值由本表其他字段计算得出,无需持久存储。

📌第 3-2 集|索引、视图与物化视图|B + 树图解 + 虚拟表与物化表分清
本集全是简答常客:索引利弊、B + 树原理、普通视图、物化视图,以及视图一致性方案。
1. 索引
一句话核心:牺牲写入性能,换取查询速度
-
优点:大幅提升检索速度,避免全表扫描
-
代价:增删改操作变慢,数据变更时索引也要同步维护
-
常用结构:B 树、B + 树
-
建索引原则:高频查询字段建索引,频繁更新的字段尽量不建索引
2. B + 树(数据库默认索引结构)
口诀:上层只管路,叶子才存数,链表串范围
-
非叶子节点:只存索引键,充当路由路标,不存真实数据
-
叶子节点:存放完整索引和数据,所有叶子节点通过有序链表相连
-
优势:范围查询非常高效,顺着叶子链表遍历即可,不用回溯上层节点。
3. 视图(虚拟表)
定义:由一张或多张基表导出,视图本身不存储真实数据,查询时实时从基表计算。 可以理解为:给一段多表 JOIN 查询起了个名字,对外像一张表。
视图四大优点,简答直接背:
-
简化操作
:复杂多表连接封装,用户直接查询视图
-
多角度查询
:不同角色使用不同视图,查看同一份数据的不同维度
-
逻辑独立性
:底层基表增加无关字段,上层视图不受影响,应用无需改动
-
安全保护
:隐藏敏感列,只开放允许访问的字段
记忆口诀:简化、多角度、独立、安全
4. 物化视图
普通视图:虚拟、实时计算、不存数据 物化视图:物理存储计算结果,是实实在在落地的数据。
优点: ① 查询性能高;② 基表故障时仍可读取;③ 分布式场景减少跨节点网络传输。 缺点:占用存储空间,需要维护数据一致性,维护成本高。 适用场景:报表系统、数据仓库。
视图一致性兜底方案:应用同步、触发器、物化视图、消息队列,和反规范化的思路相通,可以放一起记忆。
✅备考小结
数据库案例题套路非常固定: 先考数据库设计流程、E‑R 建模;然后范式规范化、反规范化权衡;再到索引、视图、物化视图的取舍。 出题思路永远是权衡:一致性 ↔ 查询性能、写入开销 ↔ 查询速度。答题时尽量体现出这种取舍思维,更容易拿满分。
下一集更新:分区分表分库 & ShardingSphere,跨库查询是高频大题,记得持续关注!