数据库系统工程师 · 100天冲刺 · ER图和SQL

数据库系统工程师100天冲刺怎么学?

数据库系统工程师的复习,最怕把概念背成一堆定义。ER图、关系模式、候选键、范式、SQL、事务隔离、索引、并发控制、备份恢复,这些内容考试时经常会放在具体业务或SQL场景里考。老师讲数据库题,通常会先问:数据对象是谁,关系是什么,约束在哪里,查询想要什么结果。

数据库系统工程师 软考题库编辑部 持续更新

先抓四块:模型、查询、事务、性能

数据库系统工程师可以先按四块建立框架:数据模型和设计、SQL查询、事务与并发、存储与性能。ER图、多对多、主键外键、范式属于设计;SELECT、JOIN、GROUP BY、HAVING属于查询;ACID、隔离级别、锁、日志属于事务;索引、执行计划、备份恢复属于性能和运维。

冲刺期不要把这些块割裂。比如一个慢查询题,可能同时涉及索引、JOIN条件、WHERE函数、统计信息和执行计划;一个设计题,可能同时涉及实体、联系、多重度、外键和范式。

模块高频内容题目常见陷阱
数据建模ER图、实体、联系、多重度、关系模式多对多没有拆表,外键放错边
范式和键候选键、主键、外键、函数依赖、3NF把唯一约束和主键完全等同
SQL查询WHERE/HAVING、JOIN、GROUP BY过滤时机和连接条件混淆
事务并发ACID、隔离级别、脏读、不可重复读、幻读现象和隔离级别对应错
性能恢复索引、日志、备份恢复、执行计划以为建索引一定提升所有查询

前30天:ER图和关系模式要先练会

前30天建议先练ER图和关系模式。数据库题很多都绕不开实体、属性、联系、多重度、主键、外键。尤其是多对多关系,通常要拆成一个中间关系;一对多关系,外键一般放在多的一方;一对一关系要结合参与约束和业务规则判断。

这类题不能只看答案。你要能解释为什么外键放在这里,为什么这个联系要单独建表,为什么某个属性不应该放在主表里。只会背结论,遇到业务换个说法就容易错。

做ER图转换题时的判断顺序

先找实体:学生、课程、订单、商品这类能独立存在的对象。

再看联系:报名、选课、下单、任职这类对象之间的关系。

判断多重度:一对一、一对多还是多对多。

最后转关系模式:确定主键、外键和是否需要中间表。

中间45天:SQL、范式和事务要用题目串起来

中间45天要把SQL、范式和事务用题目串起来。SQL题不要只背语法,要看数据从哪张表来、连接条件是什么、先过滤还是先分组。范式题不要只背第一范式、第二范式、第三范式,要看函数依赖和非主属性是否依赖于键。事务题不要只背ACID,要能区分脏读、不可重复读和幻读。

数据库题特别适合做对照表。比如WHERE和HAVING、主键和唯一约束、聚簇索引和非聚簇索引、redo log和undo log、脏读和幻读,都是高频易混点。

易混点判断抓手常见错误
WHERE vs HAVINGWHERE分组前过滤,HAVING分组后过滤把聚合条件写到WHERE
主键 vs 唯一约束主键标识元组,唯一约束保证不重复认为唯一约束一定等于主键
脏读 vs 不可重复读脏读读到未提交,不可重复读同一行前后变了把所有并发现象都叫脏读
覆盖索引 vs 回表索引包含查询所需列就可能避免回表以为所有索引都会覆盖
redo vs undoredo用于重做已提交修改,undo用于回滚和一致性读恢复方向混淆

最后25天:回到高频错题和设计表达

最后25天不要重新铺开所有数据库理论。更有效的是回到高频错题:ER图转换、范式判断、SQL聚合、事务隔离、索引失效、备份恢复。数据库题需要一定表达能力,尤其是设计题和分析题,不能只写一个名词。

比如问索引为什么失效,答案不能只写“没有用索引”。更像答案的写法是:查询条件对索引列使用函数、前导通配符、隐式类型转换或不符合联合索引最左前缀原则,导致优化器无法有效利用索引。

最后阶段重点复盘方式目标
ER图把实体、联系、多重度、主外键重新标一遍减少设计题低级错误
SQL看过滤、分组、连接、排序的执行逻辑避免WHERE/HAVING和JOIN条件混乱
事务按现象判断隔离级别不把并发问题混成一类
索引总结失效场景和适用场景能解释为什么快或为什么慢
恢复区分全量、增量、日志和检查点能写清恢复顺序

题库训练要从“会选”升级到“会解释”

数据库系统工程师不适合只记答案字母。很多题真正考的是你能不能解释这个设计为什么合理、这个SQL为什么得不到预期结果、这个事务隔离级别为什么会出现某种现象。冲刺期做题,要逼自己说出判断依据。

本站适合看题目解析和专题拆解;如果要连续练章节题和错题回炉,可以配合书木兰软考题库使用,网址是 https://www.shumulan.com/。但不管用什么工具,复盘时都要从“我选了什么”升级到“我为什么这么选”。