B 站更新|软考架构师案例篇・数据库篇第 1-2 集上线|数据库规范化|索引视图物化视图真题精讲

软考高级系统架构师案例分析,数据库板块是每年必考大题,分值稳定、考点套路清晰,把基础概念吃透,拿分性价比极高。

数据库篇一共规划 10 集,从数据库设计、范式规范化一路讲到 Redis、分布式锁、NoSQL 选型,最后加更向量数据库。本次一次性更新前两集,帮大家筑牢数据库案例题的底层根基。

💡配套课件 + XMind 知识架构图,gz号回复【思维导图】获取全集 xmind,回复【B站课件】获取全部课件

观看渠道:B 站搜索【自传‑软考架构师】,进入合集「案例分析‑数据库篇」观看。

📌第 3-1 集|数据库设计与规范化|三大异常 + 反规范化四方法

本集核心考点:数据库设计四阶段、规范化范式、三大异常、反规范化手段、数据不一致解决方案,附带2020 年 11 月真题完整拆解

1. 数据库设计四大阶段(高频填空)

  1. 需求分析

    输入:当前 + 未来的数据需求、数据处理需求 输出:数据流图、数据字典、需求说明书

  2. 概念结构设计

    使用 E‑R 模型表达,核心是实体、属性、实体间关系,案例题 E‑R 图考点就在这里。

  3. 逻辑结构设计⭐真题重点

    输入:E‑R 图、转换规则、规范化理论 输出:关系模式、视图、完整性约束 任务:确定数据模型、E‑R 转关系、定义约束、设计用户视图。

  4. 物理设计

    结合 DBMS、硬件、操作系统,设计存储策略、索引、访问方案。

记忆提示:逻辑设计是承上启下的关键,2020 下半年真题直接在这里出题。

2. 规范化(范式理论)

规范化本质:不断拆分数据表,降低依赖,消除异常

  • 1NF:属性原子不可再分

  • 1NF→2NF:消除非主属性对候选键的部分依赖

  • 2NF→3NF:消除非主属性对候选键的传递依赖

  • 3NF→BCNF:消除主属性的部分 / 传递依赖

三大异常(简答必背)

  • 删除异常:删除某条记录,连带删掉其他有效信息

  • 修改异常:同一数据多份存储,修改时需要多处更新,漏改就不一致

  • 数据冗余:相同信息重复存储,浪费空间

规范化代价:表拆得越碎,查询时多表连接变多,查询性能下降。为了解决性能问题,就引出「反规范化」。

3. 反规范化 4 种方法

反规范化:在规范化基础上主动回退,用空间换查询速度

  1. 增加派生性冗余列(例:订单表增加总金额,由单价 × 数量计算得到)

  2. 增加冗余列(例:订单明细冗余商品名称,省去联表查询)

  3. 重新组表:把高频联合查询的多张表合并为宽表

  4. 水平分割表:按时间 / 范围拆表,如订单_2023、订单_2024

缺点:引入冗余,有数据不一致风险,增删改变慢;水平拆分还会提升程序复杂度。

4. 反规范化|数据不一致 3 套兜底方案

简答直接默写:

  1. 触发器同步

    :数据库层自动触发更新,实时性最好

  2. 应用程序同步

    :业务代码中同时更新多表,灵活,强依赖开发规范

  3. 批处理同步

    :定时任务批量对账,实现简单,存在时间延迟,适合容忍短暂不一致场景

✍️真题精讲|2020.11 真题

  1. 逻辑数据模型设计包含哪些任务?

①确定数据模型;②E‑R 图转换为指定数据模型;③定义完整性约束;④确定用户视图。

  1. 超类实体:提取多个实体的公共属性生成新实体,原有实体作为子类继承。

  2. 派生属性:属性值由本表其他字段计算得出,无需持久存储。


📌第 3-2 集|索引、视图与物化视图|B + 树图解 + 虚拟表与物化表分清

本集全是简答常客:索引利弊、B + 树原理、普通视图、物化视图,以及视图一致性方案。

1. 索引

一句话核心:牺牲写入性能,换取查询速度

  • 优点:大幅提升检索速度,避免全表扫描

  • 代价:增删改操作变慢,数据变更时索引也要同步维护

  • 常用结构:B 树、B + 树

  • 建索引原则:高频查询字段建索引,频繁更新的字段尽量不建索引

2. B + 树(数据库默认索引结构)

口诀:上层只管路,叶子才存数,链表串范围

  • 非叶子节点:只存索引键,充当路由路标,不存真实数据

  • 叶子节点:存放完整索引和数据,所有叶子节点通过有序链表相连

  • 优势:范围查询非常高效,顺着叶子链表遍历即可,不用回溯上层节点。

3. 视图(虚拟表)

定义:由一张或多张基表导出,视图本身不存储真实数据,查询时实时从基表计算。 可以理解为:给一段多表 JOIN 查询起了个名字,对外像一张表。

视图四大优点,简答直接背:

  1. 简化操作

    :复杂多表连接封装,用户直接查询视图

  2. 多角度查询

    :不同角色使用不同视图,查看同一份数据的不同维度

  3. 逻辑独立性

    :底层基表增加无关字段,上层视图不受影响,应用无需改动

  4. 安全保护

    :隐藏敏感列,只开放允许访问的字段

记忆口诀:简化、多角度、独立、安全

4. 物化视图

普通视图:虚拟、实时计算、不存数据 物化视图:物理存储计算结果,是实实在在落地的数据。

优点: ① 查询性能高;② 基表故障时仍可读取;③ 分布式场景减少跨节点网络传输。 缺点:占用存储空间,需要维护数据一致性,维护成本高。 适用场景:报表系统、数据仓库。

视图一致性兜底方案:应用同步、触发器、物化视图、消息队列,和反规范化的思路相通,可以放一起记忆。


✅备考小结

数据库案例题套路非常固定: 先考数据库设计流程、E‑R 建模;然后范式规范化、反规范化权衡;再到索引、视图、物化视图的取舍。 出题思路永远是权衡:一致性 ↔ 查询性能、写入开销 ↔ 查询速度。答题时尽量体现出这种取舍思维,更容易拿满分。

下一集更新:分区分表分库 & ShardingSphere,跨库查询是高频大题,记得持续关注!

相关推荐
jnrjian1 小时前
Oracle 没有drop any job 只需要create any job Session_Privs
数据库
自传.7 小时前
B 站更新|软考架构师案例篇・软件工程篇第 5‑7 集上线|UML 通信图|状态图活动图|构件部署图|OO 三模型真题精讲
系统架构师·部署图·状态图·通信图·活动图·构件图·协作图
+VX:Fegn08958 小时前
计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·课程设计
哈__10 小时前
KES-Operator重塑Kubernetes环境下的KES数据库集群管理
数据库·kubernetes·operator·kes
IvorySQL11 小时前
IvorySQL 5.6 发布:PG 18.6 内核升级,沙盒即开即用
数据库·人工智能·postgresql
CNSSIRD数据库12 小时前
中国企业环境信用数据库2003-2026
大数据·数据库·数据分析·论文笔记
fd320012 小时前
达梦数据库更新统计信息后仍走旧执行计划解决方案
数据库
华章酱13 小时前
MySQL幻读是怎么出现的
数据库·mysql·幻读