计算机三级数据库这门科目,我一直觉得是被低估了难度的一科。很多人一听“数据库”,下意识觉得不就是写写SQL、背背范式定义嘛,考前突击几天总能混过去。结果真上了考场才发现,选择题考得细,填空题抠得更细,及格线60分卡在那里,每年挂掉的人真不少。我备考的时候把大纲啃了三遍,又对照历年真题把知识块重新整理了一遍,最后形成了一份可以随时翻阅的知识脉络。这篇文章不做泛泛的“考点清单”,而是把我整理的这套知识大纲的关键骨架拆给你看,把每一块的考察逻辑、常见坑位、复习优先级都说清楚。
这套大纲的适用范围很明确:正在准备全国计算机等级考试三级数据库技术的考生;刚接触数据库、想系统建立数据库知识框架的学习者;以及已经会写SQL但理论底子不扎实,想补一补范式、事务、恢复这些硬核概念的人。无论你是靠它备考,还是作为数据库知识的导览图,下面的内容都能给你一条清晰的路径。
1. 搞清楚考试的基本盘:科目定位、题型与备考策略
1.1 这门科目到底在考什么
先把考试本身的规则摆清楚。计算机三级数据库技术是NCRE三级中的一个专业方向科目,考试方式为上机考试,考试时长120分钟,满分100分,60分及格。题型就两种:选择题和填空题。别被“上机考试”四个字骗了,它跟你想象中那种“打开软件操作数据库”的实操考试完全不同,所有题目都是在电脑上作答的客观题,不需要你现场建表、现场写存储过程去跑。
这门科目的知识定位可以概括成一句话:以关系数据库理论为基础,以SQL Server 2008为实践载体,考察数据库从设计、实现到管理维护的完整链路。也就是说,你既要懂关系模型、范式这些理论,也要熟悉SQL语言,还要知道数据库的安全性、并发控制、备份恢复这些运维向的内容。它比二级难,难就难在考察面宽、知识点杂、细节多,而且不少题目是“理论+具体产品”结合的考法,比如给你一段SQL Server的备份场景,让你判断该用哪种恢复模式。
1.2 大纲包含哪几大知识块
我把考试大纲拆成了六个知识块,这是我自己备考时划分的维度,基本覆盖了所有考点分布:
| 知识块 | 主要考点 | 常见题型 | 复习优先级 |
|---|---|---|---|
| 数据库系统基础 | 数据库系统组成、数据管理发展、数据库技术特点 | 选择题 | 中 |
| 数据模型与体系结构 | 数据模型三要素、E-R模型、关系模型、三级模式两级映像 | 选择题为主 | 高 |
| SQL语言 | SELECT查询、数据定义、视图、存储过程、触发器 | 选择+填空 | 极高 |
| 关系数据库理论 | 函数依赖、范式、模式分解 | 选择+填空 | 极高 |
| 数据库设计 | 设计六阶段、概念结构设计、逻辑结构设计 | 选择+填空 | 高 |
| 数据库管理 | 安全管理、事务、并发控制、备份恢复 | 选择+填空 | 高 |
数据库新技术(数据仓库、数据挖掘、分布式数据库)也会在选择题里出现几道,属于“知道概念就行”的送分题,但别完全放弃,一般会考OLTP和OLAP的区别、数据挖掘的常见方法这类基础概念。
1.3 备考时间线怎么排才现实
如果你现在距离考试还有两个月以上,我建议把时间切成三段。第一阶段花三到四周过教材,重点把第1、2章的基础概念和第4、5章的SQL、数据库设计看明白,这一阶段不需要死记硬背,关键是建立知识之间的联系。第二阶段用两到三周做专题强化,主攻函数依赖与范式判断、并发控制、备份恢复这几个硬骨头,配合练习册和真题,把每种题型的解题套路摸熟。第三阶段考前一周回归大纲和错题,把填空容易考到的精确表述(比如“三级模式两级映像”“事务的ACID特性”)反复过一遍。
如果只剩一个月,那你需要做个取舍:SQL语言和范式判断是性价比最高的两个板块,务必吃透;数据库设计六阶段和安全管理以记忆为主,花一个周末集中背下来;数据库新技术放到最后半天扫一遍概念即可。时间不够的时候,别追求面面俱到,先把稳定得分点抓牢。
2. 数据模型与数据库体系结构:选择题的主战场
2.1 数据模型三要素:怎么理解才算透
数据模型这块,考试不会只考定义,它会换着花样让你判断“哪个属于数据模型的要素”“哪种数据模型是关系模型的雏形”之类。数据模型三要素是数据结构、数据操作、完整性约束,这句概念得变成你的条件反射。
数据结构描述的是数据的静态特征,也就是数据的类型、内容和性质;数据操作描述的是动态特征,比如增删改查操作以及这些操作背后的规则;完整性约束则是限定数据和操作的条件,比如实体完整性、参照完整性、用户定义完整性。这个知识点最好的记忆方式是把数据库想象成一个图书馆:数据结构是图书怎么分类、怎么摆放,数据操作是借书还书的流程,完整性约束是“每个人最多借十本”“图书编号不能为空”这类规则。
层次模型、网状模型、关系模型这三类经典数据模型也要能区分。层次模型像一棵倒挂的树,有且仅有一个根节点,父子节点一对多;网状模型允许一个节点有多个父节点,图结构;关系模型用二维表表示实体和联系,是现在的主流。选择题喜欢考“哪种模型用二维表表示”“层次模型的数据结构是什么”,这几句话记住就够了。
2.2 E-R模型转换成关系模式:必考的转换规则
E-R图转关系模式,是数据模型这块最值得花时间的点。考试会给你一个E-R图(或者用文字描述实体和联系),让你判断转换结果是否正确。转换规则核心就三条:每个实体转成一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码;1:1联系可以并入任意一端实体;1:n联系可以并入n端实体;m:n联系必须单独转成一个关系模式,且该关系的码是两端实体码的组合。
举个例子,学生和课程之间是m:n的联系,选课关系必须独立成表,主键是“学号+课程号”组合,这就是考试常考的“组合键”场景。而部门和员工是1:n联系,部门号可以放进员工表里作为外键,不需要单独建关系。
很多人在这里栽跟头,是因为分不清“联系转关系”和“并入某一端”的适用条件。我的记忆口诀是:一对多并入多,多对多必拆表,一对一看需求。三元联系的处理要复杂一些,如果三个实体之间的联系方式与某个实体相关,通常也需要单独成表,这个考点出现频率稍低,但遇到了要能反应过来。
2.3 三级模式两级映像:为什么年年考
三级模式两级映像是数据库体系结构的核心概念,几乎每年必出选择题。三级模式指外模式、模式(概念模式)、内模式。外模式是用户看到的那部分数据的逻辑结构,一个数据库可以有多个外模式;模式是全体数据的逻辑结构,一个数据库只有一个模式;内模式是数据的物理存储结构。
两级映像是外模式/模式映像和模式/内模式映像。外模式/模式映像保证了数据的逻辑独立性——当模式改变时,只要修改映像,外模式不用变,应用程序基本不用改;模式/内模式映像保证了数据的物理独立性——存储结构变了,只要修改内模式/模式映像,模式层及以上不受影响。
我自己备考时总结了一个快速判断方法:题目说“数据的逻辑结构变了但应用程序不用改”,考的是逻辑独立性;题目说“存储设备换了或存储结构变了,但应用不用改”,考的是物理独立性。这个区分在选择题里几乎是白送的分数,但很多人一紧张就混淆,考前一定要再确认一遍。
3. SQL语言:从SELECT到触发器的高频得分点
3.1 SELECT查询:语法顺序必须刻在脑子里
SQL是整张试卷里分值最重的部分,而SELECT又是SQL里的绝对核心。这里有个基础但重要的知识点:SELECT语句的逻辑执行顺序和书写顺序不一样。书写顺序是SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY,但执行顺序是先从FROM读取表,再WHERE过滤行,然后GROUP BY分组,接着HAVING过滤分组,之后SELECT投影,最后ORDER BY排序。
别小看这个执行顺序,很多题就考你“WHERE子句里能不能用聚合函数”——答案是不能,因为WHERE在分组之前执行,此刻聚合结果还不存在;而HAVING是在分组之后执行,所以HAVING条件里可以使用COUNT、SUM、AVG这些聚合函数。类似地,别名的问题也跟执行顺序有关,SELECT里起的别名在WHERE里不能直接用,但ORDER BY里可以用。
连接查询是另一个高频点。内连接用INNER JOIN或简写JOIN,返回两表匹配的行;左外连接返回左表全部行,右表无匹配则填NULL;右外连接反之。考试喜欢考“查询所有学生及其选课情况,没选课的学生也要显示”这样的场景,答案肯定是左外连接。嵌套查询里的IN和EXISTS也要注意,EXISTS只关心子查询是否有返回值,性能上通常优于大表上的IN,但这个不做硬性要求,考试重点在于能不能写出正确的嵌套结构。
3.2 数据定义与完整性约束:建表的细节坑
CREATE TABLE的语法必须熟练,特别是各种约束。主键约束(PRIMARY KEY)保证实体完整性,一张表只能有一个主键;外键约束(FOREIGN KEY)体现参照完整性,它要求外键列的值要么为NULL,要么等于被引用表的主键值;UNIQUE保证唯一性但允许一个表有多个;CHECK限制取值范围;DEFAULT提供默认值;NOT NULL不允许为空。
考试里常见的出题方式是给你一段残缺的建表语句,让你在空格处填合适的约束词,或者给你几个约束的描述,让你判断正误。这里有个容易踩的坑:UNIQUE约束和主键约束都能保证唯一性,但UNIQUE允许NULL值,而且一个表可以有多个UNIQUE约束,主键则完全不同。
ALTER TABLE和DROP TABLE是操作题里的常客,ALTER可以添加列、修改列、添加约束,DROP删除表。注意删除表的顺序——先删子表(含外键的表)再删父表,否则会因参照完整性约束报错,这个操作逻辑在填空题的表述里经常出现。
3.3 视图、存储过程和触发器:别只会背定义
视图这一章,考试不满足于“视图是虚表”这句话。你要知道视图的优点:简化查询、提供逻辑独立性、安全性(可以隐藏敏感列)。视图的更新有限制:如果视图基于多表连接、包含聚合函数、包含DISTINCT或GROUP BY,通常不能通过视图修改底层数据。
存储过程和触发器属于SQL Server的部分。存储过程的创建用CREATE PROCEDURE,执行用EXEC,它的优势在于封装、重用和减少网络流量。触发器分AFTER和INSTEAD OF两种,前者在操作完成后触发,后者替代原操作执行。触发器里有两张逻辑表——INSERTED和DELETED,INSERT操作时INSERTED保存新行,DELETE操作时DELETED保存被删除的行,UPDATE操作两者都用,这个点填空和选择都爱考。
SQL Server的批处理用GO分隔,变量声明用DECLARE并以@开头,事务用BEGIN TRAN、COMMIT、ROLLBACK。这些T-SQL语法细节,复习的时候最好装一个SQL Server Express,每条语句都在SSMS里跑一遍,光靠看书很难记住。
4. 关系数据库设计理论:范式与模式拆分的逻辑
4.1 函数依赖:一切范式的起点
函数依赖(Functional Dependency)是关系模式设计的理论基础,符号X→Y表示X能决定Y,也就是“给定X的值,就能唯一确定Y的值”。举一个生活和数据库结合的经典例子:学生表(学号,姓名,系别,系主任),存在学号→姓名、学号→系别、系别→系主任,那么“系主任”对“学号”就是传递函数依赖。
函数依赖的种类要分清楚:完全函数依赖指X→Y且X的任何真子集都不能决定Y;部分函数依赖指Y依赖的是X的一部分而非全部;传递函数依赖指通过中间属性传递决定。判断范式级别,本质上就是在判断关系模式里存在哪些函数依赖类型。
Armstrong公理系统有三个基本推理规则:自反律、增广律、传递律。从这三条可以推出合并规则、分解规则、伪传递规则。考试里有一类计算题是求属性闭包(X的闭包就是从X能推出的所有属性集合),比如给出函数依赖集F,让你判断哪些是候选码,这类题必须动手练几道,单纯背规则没法应对变化。
求候选码的常用思路是:先找出只在箭头左边出现、从不在右边出现的属性,它必然属于任何候选码,然后逐一尝试组合能否推出全部属性。比如关系R(A,B,C,D),函数依赖B→C和C→D,那么B能推出C和D,但A和B没有任何依赖能推出来,所以候选码是AB。
4.2 1NF到BCNF:一条主线串到底
范式部分,最怕你把四个范式的定义割裂开背。它们其实是一条递进的主线:第一范式要求属性都是原子的,不可再分;第二范式在1NF基础上消除非主属性对码的部分函数依赖;第三范式在2NF基础上消除非主属性对码的传递函数依赖;BCNF在3NF基础上消除主属性对码的部分函数依赖和传递依赖。
我复习的时候总结了一套判断步骤:第一步检查有没有重复组或复合属性,判断是不是1NF;第二步找出所有候选码和非主属性;第三步看有没有非主属性只依赖候选码的一部分,有则不满足2NF;第四步看有没有非主属性依赖于非候选码属性的情况,有则不满足3NF;第五步看函数依赖的左边是否都包含候选码,如果有左边的属性不是超键,则不满足BCNF。
举个例子就清楚了。选课关系(学号,课程号,成绩,课程名),候选码是(学号,课程号),但课程名只依赖于课程号,是部分函数依赖,所以它只满足1NF。拆成两个表——选课(学号,课程号,成绩)和课程(课程号,课程名),两个都是3NF。这种拆分的思维方式,考试里反复出现。
模式分解有两个重要性质:无损连接性和保持函数依赖。无损连接指分解后能通过自然连接恢复原关系,保持函数依赖指分解后函数依赖不丢失。选择题可能会问“哪个分解是无损的/保持函数依赖的”,判断无损连接的方法是看分解后的关系能否自然连接出原始元组,这个平时练一道综合例题就能掌握判断套路。
5. 数据库设计六阶段与SQL Server管理实操
5.1 六阶段设计流程:每一步的产出物
数据库设计是教材里篇幅很大的一章,考试重点在概念结构设计和逻辑结构设计。整个设计过程分六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
需求分析阶段的核心产出是数据字典和数据流图,数据字典包括数据项、数据结构、数据流、数据存储和处理过程五项。概念结构设计阶段的产出是E-R图,这是整个设计过程的关键,需要先设计局部E-R图再合并成全局E-R图,合并时要注意消除属性冲突、命名冲突和结构冲突。逻辑结构设计阶段就是把E-R图转换为关系模式,再按照规范化理论优化。物理设计阶段要确定存储结构和存取方法,比如建立索引。
几个容易混的点:数据字典是需求分析阶段的产出,不是设计阶段;E-R图属于概念模型,不属于逻辑模型;范式优化在逻辑结构设计阶段完成,不在物理设计阶段。选择题里常出现“某个活动属于哪个阶段”的判断题,把每个阶段的关键字(需求分析看“数据字典”、概念设计看“E-R图”、逻辑设计看“关系模式”、物理设计看“索引和存储”)对应起来就能快速选对。
5.2 SQL Server 2008:环境、系统数据库与权限体系
虽然现在数据库软件更新了好几代,但三级数据库的教材和考试环境仍然围绕SQL Server 2008展开,实操题和概念题都以它为准绳。安装的时候注意选混合身份验证模式(Windows身份验证+SQL Server身份验证),这样之后用sa账号登录练习比较方便。安装完成后,SSMS(SQL Server Management Studio)是你最主要的操作窗口,建库、建表、写查询都在里面完成。
SQL Server有四个系统数据库,这个知识点经常出现在选择题里:master保存SQL Server的所有系统级信息,model是新建数据库的模板,msdb服务于SQL Server Agent(作业调度、警报),tempdb存放临时表和临时存储过程。它们各自的职责要能分清,尤其是model作为模板库这个特性,单选题直接考你“新建数据库的默认模板是哪个”的概率很高。
权限管理体系分三层:登录名(服务器层面)、数据库用户(数据库层面)、权限(对象层面)。Windows身份验证模式下,Windows用户或组可以直接映射;混合模式下可以创建SQL Server登录名。固定服务器角色和固定数据库角色要记住几个典型的:sysadmin是最高权限,db_owner是数据库所有者,db_datareader只能读、db_datawriter只能写。授权用GRANT,拒绝用DENY,撤销已授权限用REVOKE,这三个动词的搭配和区别是必考项。
5.3 T-SQL实操:跑通一遍胜过背十遍
我备考时最大的体会是,SQL相关的填空题和选择题,纯靠看书效率极低。比如“查询平均成绩大于80分的学生学号和平均成绩”这句话,光在脑子里模拟写SQL很容易漏掉HAVING,但你在SSMS里实际敲一遍,报错一次,记忆会深很多。
建议把以下练习全部在SSMS里跑通:建库建表并添加各种约束;插入、修改、删除数据并观察违反约束时的报错;写一个包含分组和过滤的复杂查询;创建一个视图并从视图查询;创建一个存储过程并执行;创建一个AFTER触发器,在插入数据后查看INSERTED表内容;开启一个事务,执行到一半ROLLBACK,看数据车辆是否回滚。这些操作全部做完大概需要两三天时间,但带来的收益远超刷同样时长的题。
6. 事务、并发控制与恢复机制:安全类题目
6.1 事务的ACID特性,每个字母都别放过
事务是一系列操作的逻辑单元,要么全部执行成功,要么全部回滚。ACID四个特性是高频考点中的高频:原子性——事务是一个不可分割的工作单位,要么全做要么全不做;一致性——事务执行前后数据库都处于一致性状态;隔离性——并发执行的事务互不干扰;持久性——事务一旦提交,结果是永久的。
考试喜欢把ACID和故障恢复绑定起来考。原子性和持久性靠日志文件实现——日志记录了事务对数据库的所有修改,需要撤销(UNDO)时反向操作,需要重做(REDO)时正向重放。一致性由应用程序的完整性约束和事务逻辑保证,隔离性由并发控制机制(锁)保证。这样一串联,你就不需要死记每个特性的实现手段,而是能推断出来,考试考到“保证原子性的机制是日志”这类题目时,直接答日志。
并发操作会带来三类数据不一致问题:丢失更新(两个事务同时修改,后提交的覆盖先提交的)、读脏数据(读到未提交的被回滚数据)、不可重复读(同一事务内两次读同一数据结果不同,因为其他事务修改了它)、幻读(两次查询结果的行数不同)。其中丢失更新是最经典的考题,常出成“两个事务同时给账户扣款,结果少扣了一次”,问的是并发控制措施缺失导致哪种问题。
6.2 封锁协议:三级封锁协议是核心主线
并发控制最常用的技术是封锁。封锁分排他锁(X锁,也叫写锁)和共享锁(S锁,读锁)。它们的兼容性要记牢:X锁和任何锁都不兼容,S锁和S锁兼容。也就是说,一个事务加了X锁,其他事务既不能读也不能写;一个事务加了S锁,其他事务可以加S锁读,但不能再加X锁写。
三级封锁协议是这一章节的主线,每一级解决一类问题。一级封锁协议:事务在修改数据前必须加X锁直到事务结束,防止丢失更新。二级封锁协议:在一级基础上,读数据前加S锁,用完可放,防止读脏数据。三级封锁协议:在二级基础上,S锁也要保持到事务结束,防止不可重复读。考试的标志性问法:“采用哪级封锁协议可以防止丢失更新/读脏数据/不可重复读”,把每一级和它解决的问题对应死即可。
两段锁协议(2PL)是保证可串行化的充分条件。它要求事务分两个阶段:扩展阶段只能加锁不能解锁,收缩阶段只能解锁不能加锁。注意,两段锁协议不保证避免死锁,但能保证并发调度的可串行化。
6.3 死锁的检测与处理
死锁的典型场景:事务T1持有A锁等待B锁,事务T2持有B锁等待A锁,两边谁也不让。SQL Server检测死锁后,会选择一个成本较低的事务作为牺牲者,回滚它并释放锁,同时给应用程序报错“事务已死锁”。
判定死锁的图形方法叫等待图,如果等待图中存在回路,就说明发生了死锁。考试里常给你一个资源分配序列,让你判断是否会发生死锁。对付这种题的关键是逐个检查每个事务在等待什么,另一个事务是否持有该资源又在等待别的资源,形成一个闭环。
SQL Server的默认隔离级别是READ COMMITTED,这是大多数情况下的平衡选择。隔离级别从低到高依次是READ UNCOMMITTED(可能出现脏读、不可重复读、幻读)、READ COMMITTED(解决脏读)、REPEATABLE READ(解决不可重复读)、SERIALIZABLE(解决幻读,最严格)。这个和三级封锁协议的知识是呼应的:隔离级别越高,并发性越差,一致性越强。
6.4 备份恢复:场景题的决定性判断
数据库故障分三类:事务故障(比如运算溢出、输入错误、死锁引起的回滚)、系统故障(比如断电、系统崩溃,所有未提交事务都要撤销)、介质故障(磁盘损坏,最常见也最严重)。不同故障对应不同的恢复策略:事务故障由日志做UNDO;系统故障既UNDO未提交事务也REDO已提交事务;介质故障必须恢复备份并重做日志。
备份类型要能区分:完整备份备份整个数据库,差异备份备份自上次完整备份以来的变化,事务日志备份备份日志记录。恢复模式也有三种:简单恢复模式只能做完整和差异备份,日志不能备份;完整恢复模式支持所有备份且日志完整;大容量日志恢复模式介于两者之间,适合大批量操作。
考试最爱出的是给你一个故障场景让你选恢复方案。我的答题套路是:介质故障必须从完整备份开始恢复,然后按时间顺序恢复差异备份,再恢复故障前的所有日志备份;如果只有完整备份,就恢复完整备份后丢失故障以来的所有更新。这个判断顺序理清楚,相关大题就拿稳了。
7. 考场视角:高频失分点与备考经验复盘
7.1 容易丢分的五个典型位置
回顾我做过的真题和模拟题,有几个地方丢分率特别高。第一个是SQL的HAVING和WHERE混用,忘了WHERE先于分组、HAVING后于分组这个执行顺序;第二个是函数依赖符号和术语的精确表述,填空题要求写“部分函数依赖”“传递函数依赖”,写得不准确不给分;第三个是E-R图转关系模式时,多对多联系漏掉单独成表;第四个是恢复场景判断,分不清事务故障和系统故障的处理差别;第五个是死锁的等待图回路判断,理不清谁在等谁的资源。
这五个位置有个共同点:不是知识点多难,而是平时复习时只做了选择题,没有用填空题的标准去检验自己的表述。填空题拼的是精确输出,不是模糊识别。大家刷题时,不要只看选项能不能判断对,还要试着把正确答案默写出来,这样上了考场才不会提笔忘词。
7.2 我最顺手的复习流程:三轮法
我自己备考的时间安排是三轮。第一轮通读教材,目标不是记住,而是画出整本书的知识地图。第二轮是专项刷题加实操,按知识块拆开练,SQL部分在SSMS里动手跑,理论部分做章节练习,同时整理错题本。第三轮是考前冲刺,回看自己画的知识地图,把六个知识块的要点口头复述一遍,再掐时间做两套真题。
错题本是我最推荐的工具。但别只是抄下错题和正确答案,要在旁边写一句“我当时为什么错”,比如“我把外模式当成物理存储结构了”,这样每次翻看都在强化正确的关联。到考前最后两天,错题本的价值超过任何新题目。
时间分配上,每天两小时左右比较可持续:一小时做题,半小时核对和记录错因,半小时把当天涉及的知识点放到整体框架里过一遍。千万别攒到周末猛学一天,知识的消化需要间隔,分散投入比集中突击效率高得多。
7.3 不同起点的考生,侧重也不同
零基础但时间充裕的考生,建议先从SQL Server的环境搭建入手,把教材里每一个建表、查询的例子都亲手跑一遍,让“数据库看得见摸得着”之后再回头啃理论,否则概念会显得很干瘪。有SQL基础、平时写过查询的考生,可以把重心放到关系理论和并发控制上,做题时注意从“会写SQL”升级到“能用理论解释SQL”。科班学过数据库课程的人,主要任务是把大学课程和考试大纲对齐,弥补一些偏课程不设计的知识,比如SQL Server的系统数据库、固定服务器角色这些产品细节。
如果你只是想拿个证书,复习的重心可以明显偏向SQL和范式判断这两块,它们分值高、套路稳定。但我不建议完全跳过数据库新技术的概念题,那几道送分题不难拿,丢掉很可惜,考前花半天把数据仓库、OLTP/OLAP、数据挖掘的基本概念过一遍,性价比很高。
说到底,这门考试的难度不在深度而在广度。知识大纲看起来厚厚一本,真正拆开之后就是六个知识块,块与块之间还有清晰的逻辑链:先理解数据模型怎么描述世界,再用E-R图和关系模式把世界建模出来,接着用SQL操作数据,用范式保证设计质量,最后用事务、锁、备份这些机制守护数据的安全。我当时把这个链条理清的瞬间,整门课的复习就从一个一个零散的点,变成了一张能自己推导的网络。你现在备考,与其急着刷题,不如也先花一个晚上把这张网络搭起来。