Skip to content
难度基础(★)
建议时长45分钟

3.10 数据库系统章节回顾

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

回顾时要抓“触发器”

数据库系统章节不适合只背答案,因为很多题靠步骤:候选键求错,后面范式全错;自然连接同名列条件漏写,SQL 补空就错;E-R 联系方向看反,关系模式转换就错。

复习时要给每类题建立触发器:看到关键词,立刻知道第一步。

关键词触发动作
分布式数据库、透明性区分分片、位置、复制、局部映像等透明性
外模式/概念模式/内模式对应三级模式和两级映像
实体、属性、联系进入 E-R 图分析
1:n、m:n决定外键放哪或是否建联系表
自然连接、笛卡尔积补同名属性相等条件
2NF/3NF/BCNF先求候选键
GROUP BYHAVING判断分组列和分组后条件
GRANTREVOKE授权与回收权限
COMMITROLLBACK事务特性或读脏数据
S 锁、X 锁查锁兼容矩阵

各模块复盘要点

数据库基础

体系结构题重点区分集中式、C/S、B/S、分布式数据库。三级模式题重点看对象层次:用户看到的是外模式,全局逻辑结构是概念模式,物理存储相关是内模式。两级映像对应两类数据独立性:外模式/概念模式映像保护逻辑独立性,概念模式/内模式映像保护物理独立性。

数据仓库题重点区分 OLTP 与 OLAP:前者面向日常事务处理,后者面向分析决策;数据仓库通常是面向主题、集成、相对稳定、随时间变化的。

数据库设计

概念结构设计阶段画 E-R 图,逻辑结构设计阶段把 E-R 图转为关系模式。E-R 图题先找实体、属性、联系,再判联系类型。三元联系要固定另外两端判断当前端多重度。

关系模式转换记三条:1:1 可灵活归并,1:n 外键进多端,m:n 必须独立成联系关系;联系属性跟随联系所在关系。

关系代数与 SQL

关系代数的常见运算要能映射到 SQL:

关系代数SQL
投影SELECT
选择WHERE
笛卡尔积FROM R, S
自然连接FROM R, S WHERE 同名列相等
分组统计GROUP BY + 聚合函数

查询效率题通常倾向于先选择、先投影,减少中间结果。分组查询题要分清 WHERE 是分组前筛行,HAVING 是分组后筛组。

规范化理论

规范化题的固定顺序:

  1. 求候选键。
  2. 标主属性和非主属性。
  3. 看是否存在非主属性对候选键的部分依赖。
  4. 看是否存在非主属性对候选键的传递依赖。
  5. 检查每个决定因素是否包含候选键。
  6. 分解时再判无损连接和保持函数依赖。

只要没达到 3NF,冗余、插入异常、删除异常、修改异常通常仍会存在。提升范式的手段就是模式分解,但分解不能随意,要同时考虑能否还原和是否保留依赖。

并发控制

事务 ACID 用关键词判断:全做全不做是原子性,约束状态正确是一致性,事务互不可见是隔离性,提交后不丢是持久性。并发异常看读写序列:写写覆盖是丢失修改,两次读不同是不可重复读,读未提交且可能回滚是读脏数据。

锁题只要记住:S 锁兼容 S 锁,不兼容 X 锁;X 锁不兼容任何其他锁。

考前压缩清单

必须会检查自己能否做到
三级模式能说清外/概念/内模式与两级映像
E-R 图能从需求中找实体、属性、联系和多重度
E-R 转关系能处理 1:1、1:n、m:n 和联系属性
关系代数能计算自然连接属性数,写出选择/投影/连接含义
候选键能用闭包法或入度法求出候选键
范式能判断 2NF、3NF、BCNF
模式分解能区分无损连接和保持依赖
SQL能补 SELECT/FROM/WHERE/GROUP BY/HAVING
并发能区分 ACID、三类异常和 S/X 锁

复习时不要平均用力。先把规范化、关系代数、E-R 转关系模式打牢,再用较少时间扫概念和并发控制,性价比最高。

例题

单选
复盘数据库系统错题时,更有效的方法是:
单选
题干出现“读取了另一个事务尚未提交的数据”,应优先想到:

自查要点

  1. 你的数据库错题主要集中在哪个模块?
  2. 范式题、SQL 题、并发题的第一步分别是什么?
  3. 哪些概念需要用反例区分?