☰
数据库七章复习地图:三级模式、关系代数、SQL与事务保护
2026/11/4 18:30:59 网站建设 项目流程

简介:面向高校数据库课程复习与考试冲刺,这份中南大学数据库试题资料围绕DBMS基础、三级模式、ER模型、关系模型与关系代数、SQL语言、数据库保护、规范化理论及应用设计等核心考点展开,适合准备期末、考研复试或系统梳理知识框架的学习者查漏补缺,也可用于课堂作业与小组讨论参考。压缩包共1个doc文件,约164KB,内容以章节复习总纲和试卷形式组织,包含选择题、填空题、术语解释与简答题等常见题型,并附有答案要点,doc格式便于打印、批注和按章节自测核对。已有358人学习下载。读者可借助提纲快速定位重点,再通过试卷检验对视图操作限制、并发控制、事务ACID、函数依赖、范式分解、物理数据独立性等易错点的掌握程度,形成从概念理解到题目训练的完整复习路径。

1. 数据库复习的整体地图:七章内容其实是一条设计流水线

多数人翻这套数据库试题的第一反应是「名词太多、背不完」,但梳理下来会发现,从 DBMS 的引入到关系模式分解,七个章节其实是一条完整流水线:先解释数据库为什么存在,再讲怎么抽象现实世界,然后落到表和关系代数,接着用 SQL 把设计写出来,最后用保护机制和规范化理论验收。把这七块按顺序摆好,复习就有了坐标——哪一章是名词解释的重灾区,哪一章是写 SQL 的手感区,哪一章只在最后的综合体里出现。适合已经把教材过了一遍、正在做第二轮串联的人,也适合考前想快速定位短板的人。

2. 三级模式与数据模型:概念层最容易背串的一组定义

这一章在卷面上的分值不高,但它像地基,后面所有「独立性」「视图」「映射」的题目都从这里长出来。复习时别急着背名词,先把「数据管理三阶段 → 三级模式 → 两级映像 → 数据模型三要素 → E-R 图」这条链子理顺,名词解释题基本就稳了。

2.1 三个管理阶段与三级模式、两级映像

数据管理走过了人工管理、文件系统、数据库系统三个阶段。人工管理阶段数据不保存、无结构、完全依赖程序;文件系统阶段记录内部有了结构,但整体仍然无结构,程序与数据之间只有很弱的独立性,冗余和不一致严重;数据库系统阶段数据整体结构化、共享性高、冗余低,由 DBMS 统一管理。试卷里问「DBMS 与基于文件系统的数据管理区别」,答的就是这三点:结构化程度、共享性与冗余、独立性与统一控制。

三级模式是另一条线:外模式(也叫子模式、用户模式)是单个用户看到的数据视图;模式(概念模式、逻辑模式)是全体数据的整体逻辑结构;内模式(存储模式)是物理存储结构。三级模式之间靠两级映像连接,而这两级映像正好对应两种独立性:

映像位置保证的独立性谁变了不用改应用
外模式/模式映像外模式与模式之间逻辑独立性模式变,外模式不变
模式/内模式映像模式与内模式之间物理独立性内模式变,模式不变

选择题里「要保证物理数据独立性,需要修改的是」答案就是模式与内模式的映射,而不是内模式本身。记的时候别死背,按方向推:应用看到的是外模式,外模式靠映像挂在模式上,模式再靠映像挂在存储上,谁在下层动,就改它上面那一层映像。

顺带把几个容易混的缩写对齐:DB 是数据库本身,DBMS 是管理软件,DBS 是包含硬件、软件、数据库、DBA 和用户的整个系统,DBAS 是跑在 DBMS 之上的应用系统。考「数据库系统不仅包括数据库本身,还要包括硬件、软件和什么」,答案是相关人员。

2.2 数据模型三要素与 E-R 模型里的键约束

数据模型的三要素是数据结构、数据操作、完整性约束,评价一个数据模型也从这三方面看:结构描述得清不清楚、操作够不够用、约束能不能表达业务规则。层次模型用树,网状模型用图,关系模型用二维表,E-R 模型则是信息世界的模型,是现实世界到机器世界的中间层次,属于概念模型而不是 DBMS 支持的逻辑模型。这个「层次」判断是选择题的常客:E-R 模型属于信息模型,不属于关系模型。

E-R 图的三样东西是实体、属性、联系,联系的度分 1:1、1:n、m:n。键约束是这里最实的考点:能唯一标识一个实体的属性或属性组叫键(关键字),一个实体集可以有多个候选键,从中挑一个当主键。注意 E-R 阶段的「键」和关系阶段的「主键」不是一回事——前者是实体层面的唯一标识,后者是表结构上的约束,考试里混用会被扣分。

另外,概念结构设计阶段常用的方法是自顶向下逐步细化,产出物是 E-R 图和数据字典。数据字典包含数据项、数据结构、数据流、数据存储、处理过程五个部分,其中数据项是不可再分的最小单位,这个「五部分」在填空里出现频率很高。

2.3 E-R 图转关系模型的四条转换规则

这部分是概念设计到逻辑设计的桥,简答题和综合体都会碰。规则不多,但每条都要能说出「为什么」:

  1. 1:1 联系:可以合并到任意一端,把另一端的码作为外码加进来;也可以单独建一个关系,码取任一端实体的码。
  2. 1:n 联系:合并到 n 端,把 1 端的码作为外码放进 n 端的关系里。原因是 n 端每条记录只对应一个 1 端实体,不会产生重复。
  3. m:n 联系:必须单独建一个关系,码是两端实体码的组合。因为两边都可能一对多,塞进任何一端都会造成多值。
  4. 多值属性:单独建一个关系,属性名加上实体码一起作为码。

转换完之后还要做规范化验证:把转换出来的关系逐个检查有没有部分函数依赖和传递函数依赖,这一步是逻辑设计阶段的收尾动作,也是第 6 章内容的入口。

提示:转换规则里最容易写反的是 1:n 的合并方向,记住「往多的一端并」,因为多的一端才需要外码来指向一的一端。

3. 关系模型与关系代数:五个基本运算和除法怎么写

关系模型是整个课程的骨架,卷面上关系代数的应用题几乎年年有。这一章的复习重点不在概念,而在两件事:完整性约束怎么落到表上,以及关系代数表达式能不能一次写对。后者是拉开分差的地方。

3.1 表、三类完整性约束与视图的定位

关系模型用二维表表示实体和联系,表的每一行是元组,每一列是属性,列有原子性(不可再分)。完整性约束分三层:实体完整性要求主码非空且唯一;参照完整性要求外码的取值要么为空,要么等于被参照关系中某个主码值;用户定义完整性是具体的业务规则,比如年龄在 18 到 22 之间、性别只能取某几个值。

表内约束和表间约束的实现方式不同,这点试卷专门考过:

约束类型典型写法生效层级
域约束数据类型、CHECK、NOT NULL列级
主键约束PRIMARY KEY表级,自动建唯一索引
唯一性约束UNIQUE表级,允许一个空值
外键约束FOREIGN KEY ... REFERENCES表间,涉及级联、受限、置空三种策略
触发器CREATE TRIGGER表间复杂规则,可编程

视图是虚表,数据库里只存视图的定义,不存数据,数据仍然在基表里。视图和基表的关系可以用一句话概括:视图是基表上的查询被命名后的结果。这带来两个后果——查询视图等价于执行那条查询,所以性能不一定更好;更新视图要能唯一映射回基表的行,所以带聚合、GROUP BY、DISTINCT、表达式列的视图不可更新。选择题「在视图上不能完成的操作」,答案是在视图上定义新的基本表,视图上可以再建视图,也可以查询,更新则要看条件。

外键策略是简答题的高频点,三种处理方式要能分清:级联删除是把参照关系里相关元组一起删;受限删除是只要还有引用就拒绝删除;置空删除是把参照关系里的外码置空。插入方向对应的是受限插入和递归插入。答题时把「删除被参照关系」和「在参照关系插入」两个方向分开写,条理会清楚很多。

3.2 五个基本运算与四个专门运算的分工

关系代数分两块:传统集合运算是并、差、交、笛卡儿积,专门的关系运算是选择、投影、连接、除法。题目问「五种基本关系代数运算」,答案是并、差、笛卡儿积、投影、选择——交、连接、除法都可以由这五个导出。这个「基本」二字是陷阱,「交」看着简单,但它不是基本运算。

几个运算的语义要能一句话说清:选择是挑行(σ),投影是挑列(π),连接是把两个表按条件拼起来,除法是「对所有的」这种全称量词的表达方式。等值连接和自然连接的区别是经典简答题:等值连接保留所有属性,自然连接要去掉重复的连接属性,并且默认按同名属性做等值匹配。

笛卡儿积的基数考过一次:三个域的元素个数分别是 3、2、3,笛卡儿积基数就是 3×2×3=18。这类题不要算成属性个数,问的是元组个数。

3.3 除法与「全部」类查询的表达式写法

应用题里最费时间的是「选修了全部课程」和「选修了某同学学过的所有课程」这两问,本质都是除法。设选课关系为「选课(学号,课程号,成绩)」,课程关系为「课程(课程号,课程名,先行课)」,学生关系为「学生(学号,姓名,性别,年龄,所在系)」,五小问的写法如下:

(1)π 学号,姓名 ( σ 课程号='5' (选课) ⋈ 学生 ) (2)π 学号 (学生) − π 学号 ( σ 课程号='5' (选课) ) (3)π 学号 ( σ 课程号='5' (选课) ) ∩ π 学号 ( σ 课程号='6' (选课) ) (4)π 学号,姓名 ( ( π 学号,课程号 (选课) ÷ π 课程号 (课程) ) ⋈ 学生 ) (5)π 学号,姓名 ( ( π 学号,课程号 (选课) ÷ π 课程号 ( σ 学号='95001' (选课) ) ) ⋈ 学生 )

逐条说逻辑:第(1)问先按课程号筛出选课记录,再和学生表做自然连接拿到姓名,最后投影出两列;第(2)问是「全部学号减去选过 5 号的学号」,差运算天然表达「没有」;第(3)问用交,两个集合都出现过的学号才保留;第(4)问是除法的标准形态,被除数是「学号-课程号」的完整选课对,除数是全部课程号,商就是修满所有课的学生;第(5)问把除数换成「95001 选过的课程集合」,其余不变,注意这种写法通常会包含 95001 本人,如果题目要求排除,再补一个差运算。

注意:除法表达式里被除数必须是「学号,课程号」这种完整组合再投影,直接拿选课表去除会报属性不匹配。

4. SQL 与索引:DDL、DML 的边界和聚簇索引的选择

SQL 这一章是手感区,光看懂不够,得能在纸上默写出来。卷面上的 SQL 题分两档:建表、加列、建索引、建视图这类模板题,和分组、嵌套、双重否定这类综合题。前者靠记模板,后者靠拆解思路。

4.1 SQL 的特点与 DDL、DML、DCL 的划分

SQL 的特点有几句标准表述:综合统一(定义、操纵、控制一体)、高度非过程化(只说做什么不说怎么做)、面向集合(操作对象和结果都是集合)、同一种语法结构提供两种使用方式(交互式和嵌入式)、语言简洁。这几句几乎就是简答题的标准答案。

按功能划分语句是选择题的高频点:

类别代表语句作用
DDL 数据定义CREATE、DROP、ALTER定义表、索引、视图
DML 数据操纵INSERT、DELETE、UPDATE、SELECT增删改查数据
DCL 数据控制GRANT、REVOKE授权与收权

判断题里常把 GRANT 混进 DDL,或者把 SELECT 说成 DDL,按上表对号就行。嵌入式 SQL 与主语言的通讯方式有三种:SQL 通讯区、主变量、游标,全局变量不在其中,这个点是选择题里的冷门但确实考过。

4.2 建表、加列、索引与视图的完整语句

下面这段把试卷里那组教师工资表的操作串成一个完整脚本,顺带把原卷里几处手写笔误改正过来(CREAT 应为 CREATE,CLUSTED 应为 CLUSTERED):

-- 建表:主码 BH,金额列用 NUMBER(10,2) 保留小数 CREATE TABLE teacher ( BH NUMBER(10) PRIMARY KEY, XM VARCHAR2(20), BM VARCHAR2(20), JBGZ NUMBER(10,2), BT NUMBER(10,2), GHF NUMBER(10,2), GJJ NUMBER(10,2), SFGZ NUMBER(10,2) ); -- 加列:整型,允许为空 ALTER TABLE teacher ADD (WCF INT); -- 聚簇索引:索引项顺序与表中记录的物理顺序一致 CREATE CLUSTERED INDEX teach ON teacher(BH); -- 视图:只暴露三列,并限制部门条件 CREATE VIEW BMV (XM, JBGZ, SFGZ) AS SELECT XM, JBGZ, SFGZ FROM teacher WHERE BM = '经管系' WITH CHECK OPTION; -- 删表:结构、数据、索引、视图定义一起消失 DROP TABLE teacher;

参数说明与几个易踩点:VARCHAR2和NUMBER是 Oracle 风格的类型写法,换成 MySQL 就是VARCHAR和DECIMAL(10,2),考试按教材或题目给的产品写就行;WITH CHECK OPTION的作用是让往视图里插入的行必须满足视图定义里的WHERE条件,不写这句,插进去的行会「凭空消失」在视图结果里;DROP TABLE删除的是整个表对象,和DELETE FROM teacher只清数据完全不同,这两者在选择题里经常互换着迷惑人。

聚簇索引和非聚簇索引的区别要在这一节说透。聚簇索引的索引项顺序与表中记录的物理顺序一致,一张表只能有一个,适合建在范围查询多、顺序访问多的列上;非聚簇索引是独立于数据存储顺序的索引结构,一张表可以建很多个。主键约束会自动创建唯一索引,UNIQUE 约束同理,但「唯一」和「聚簇」是两个维度,唯一索引也可以是非聚簇的。试卷里出现「与 UNIQUE 和 PRIMARY 约束的关系」,答题要点就是:约束是语义层面的,索引是实现层面的,约束靠索引落地,但索引不等于约束。

4.3 分组、嵌套与双重 NOT EXISTS 的拆解方式

综合题给的三张表是学生、课程、选课,问法基本围绕这几类。下面把典型语句收在一起:

-- 1. 区间查询:注意 BETWEEN 是闭区间 SELECT 姓名, 年龄, 所在系 FROM 学生 WHERE 年龄 BETWEEN 18 AND 22; -- 2. 模糊匹配:姓李用 LIKE '李%',前导 % 会导致索引失效 SELECT 成绩 FROM 选课 WHERE 学号 IN (SELECT 学号 FROM 学生 WHERE 姓名 LIKE '李%'); -- 3. 分组统计:WHERE 过滤行,HAVING 过滤组 SELECT 学号 FROM 选课 GROUP BY 学号 HAVING COUNT(*) >= 5; -- 4. 三层嵌套:从课程名找到课程号,再从课程号找到学号,最后取姓名 SELECT 姓名 FROM 学生 WHERE 学号 IN ( SELECT 学号 FROM 选课 WHERE 课程号 IN (SELECT 课程号 FROM 课程 WHERE 课程名 = '数据库原理') ); -- 5. 全称量词:比某系所有学生年龄都大,用 > ALL SELECT * FROM 学生 WHERE 年龄 > ALL (SELECT 年龄 FROM 学生 WHERE 所在系 = '经管系'); -- 6. 选修了全部课程:双重 NOT EXISTS,两层否定表达「不存在没选的课」 SELECT 学号, 姓名 FROM 学生 s WHERE NOT EXISTS ( SELECT * FROM 课程 c WHERE NOT EXISTS ( SELECT * FROM 选课 sc WHERE sc.学号 = s.学号 AND sc.课程号 = c.课程号 ) );

重点解释第 5 和第 6 条。第 5 条里,> ALL等价于「大于子查询结果的最大值」,写成> (SELECT MAX(年龄) ...)也成立,但必须是严格大于;原卷答案里写成>=就是错的,因为「比其他系所有学生都大」不包含等于的情况,只有「大于等于最大值且最大值本人不在其他系」这种巧合才不出错,考试判卷不会给你这个机会。第 6 条的双重否定是关系除法在 SQL 里的对应写法,思路是:对每一个学生,扫描全部课程,检查是否存在一门他没选;如果「不存在这样的课」,那他就选全了。两层NOT EXISTS之间必须有相关条件把内外层连起来,漏掉关联条件就退化成全表判断。

插入和更新这两类语句反而简单,注意两点:INSERT INTO 学生 VALUES (...)不写列名时必须按表的列顺序给全所有列;UPDATE改主码要小心,如果别的表有外码引用,要么级联更新,要么先处理引用行。

5. 数据库保护四件套:安全性、完整性、恢复与并发控制

这一章内容杂,但结构非常清楚:破坏来源决定要防什么,安全性管「谁能看」,完整性管「数据对不对」,故障恢复管「坏了怎么回来」,并发控制管「同时来怎么办」。四条线各有一套术语,混着背必乱,分开记一遍就顺。

5.1 破坏来源与安全体系的层层设防

数据库被破坏的四个来源是计算机病毒、硬件故障、软件故障(DBMS 或操作系统的错误)、操作员误操作。这四个来源决定了保护手段的覆盖面,考试里问「数据库保护包括哪几方面」,答案是安全性、完整性、故障恢复、并发控制——注意「控制数据冗余」不在其中,冗余控制是设计阶段的事,不是保护机制。

安全性是防止非法用户或非法权限的访问,手段可以按层次摆:身份鉴别(口令、生物特征)、存取控制(授权)、视图(把不该看的列藏起来)、审计(记录操作日志)、数据加密(存储和传输加密)。授权和收权的语句是GRANT和REVOKE,这个组合在填空里几乎必考。

数据库对象的安全体系是分层设置的:库级、表级、列级,权限可以逐层授予。实际答题时把「先鉴别身份、再控制权限、最后审计留痕」这个顺序写出来,比罗列名词更像人写的答案。

5.2 事务、ACID 与恢复的两大技术

事务是用户定义的一个操作序列,要么全做要么全不做,是不可分割的工作单位。四个特性是原子性、一致性、隔离性、持久性,简称 ACID。这四个词的展开要能各自配一句解释:原子性靠日志的撤销实现,一致性是事务执行前后数据库都处于一致状态,隔离性靠并发控制子系统实现,持久性靠日志的重做实现。选择题里问「DBMS 中实现事务隔离性的子系统」,答案就是并发控制子系统。

故障恢复靠两样技术:数据转储和登记日志文件。转储分静态转储和动态转储、海量转储和增量转储,组合起来四种;日志文件记录每个事务对数据的每次修改,恢复时用撤销(UNDO)处理未提交的事务,用重做(REDO)处理已提交但可能还没写回磁盘的事务。有一条铁律:先写日志,后写数据库。没有这条顺序,崩溃时日志和磁盘数据对不上,恢复就无从下手。

注意:恢复的完整链条是「用备份还原到某个时刻,再用日志重放这个时刻之后已提交的事务,并撤销未提交的事务」,答题时少一步都会被扣分。

5.3 并发三大问题与封锁协议

并发执行可能引起三个问题:丢失更新(两个事务读同一数据,后写的覆盖先写的)、不可重复读(同一事务两次读同一数据,结果不一样)、读脏数据(读到了别的事务还没提交、后来被回滚的数据)。这三个名字要记准,选择题里经常把「权限控制」「数据独立性降低」混进选项里当干扰项。

并发调度的正确性判据是可串行化:如果多个事务的并发执行结果与某个串行执行结果相同,这个调度就是可串行化的。判定方法是画优先图,看有没有环。

封锁是实现并发控制的手段。两种基本锁:排他锁(X 锁,加了之后既可读又可写,别人不能碰)、共享锁(S 锁,加了只能读,别人可以继续加 S 锁但不能加 X 锁)。三级封锁协议要能逐级说清:

协议规则能解决什么
一级写之前加 X 锁,直到事务结束才释放丢失更新
二级一级 + 读之前加 S 锁,读完即可释放读脏数据
三级一级 + 读之前加 S 锁,直到事务结束才释放不可重复读

两段锁协议(2PL)是保证可串行化的充分条件:所有加锁操作在扩展阶段完成,所有解锁操作在收缩阶段完成,中间不能交叉。死锁的预防有两种方法,一次封锁法是事务一次把所有要用的数据加锁,顺序封锁法是预先规定封锁顺序;诊断有超时法和等待图法。锁的粒度可以是数据库、表、页、记录、字段,粒度越小并发度越高,但管理开销越大——这个权衡是简答题的加分点。

6. 易错点清单:规范化判断、谓词边界与拼写翻车

复习到第三轮,概念都熟了,丢分往往丢在细节上。这一章按「易漏点 → 为什么漏 → 怎么补」的格式列五条,都是这套试题里反复出现过的地方,其中不少是血泪经验换来的。

6.1 规范化判定:先求候选码,再分主属性和非主属性

易漏点:2NF 和 3NF 的判定条件写出来了,但判错对象。部分函数依赖和传递函数依赖针对的都是「非主属性对码」的关系,一旦关系里所有属性都是主属性(比如全码关系),它自动满足 3NF 甚至 BCNF,很多人还在那老老实实找传递依赖。

为什么漏:教材给的判定顺序是「1NF → 2NF → 3NF → BCNF」,读者容易把它当成逐级套公式,忽略了每一级的前提是「存在非主属性」。选择题里那句「任何包含两个属性的关系模式一定满足 3NF」之所以不正确,也是因为要考虑主属性和码的分布。

怎么补:拿到一个关系模式,先按函数依赖求候选码(闭包法),标出主属性和非主属性,再逐级判定。四种异常(数据冗余、更新异常、插入异常、删除异常)的产生原因也要能倒推回去,答题时用「因为存在部分函数依赖,所以非主属性会重复存储,导致插入时不得不填冗余值」这样的因果句,比干背结论有说服力。

6.2 比较谓词:> ALL与>= MAX的边界

易漏点:把「比所有都大」写成>= (SELECT MAX(...))。差一个等号,含义就变成了「不小于最大值」,语义上给等于留了门缝。

为什么漏:平时写查询习惯用MAX求最大值再比较,把「求最大值」和「比较关系」两件事合成一步,顺手就写了>=。加上手写试卷时符号容易糊在一起,判卷老师也未必能看出你的本意。

怎么补:凡是「全部」「所有」「任意」这类全称量词,优先用ALL、ANY或者双重NOT EXISTS,不要绕道聚合函数;真要用聚合,先在心里把式子读一遍:「大于最大值」才是「比所有都大」。同理,NOT IN遇到子查询结果里有NULL会整体返回空集,这也是同一个位置的坑。

6.3 视图的可更新边界与删除对象的区别

易漏点:以为视图可以随便更新。实际上视图更新必须能唯一映射到基表的一行,带聚合函数、GROUP BY、DISTINCT、表达式列、多表连接的视图都不可更新。另一个高频混淆是DROP TABLE和DELETE FROM:前者删对象,后者删数据。

为什么漏:平时练习建的都是单表、带条件的简单视图,更新一路畅通,就形成了「视图就是表」的错觉。DROP和DELETE在英文里都靠近「删除」,中文翻译又都叫「删除」,不细看就混。

怎么补:把视图当成「一条被命名的查询」,问自己「这条查询的结果每一行能不能唯一对应基表的一行」,答案是不能就别更新。删除类语句按对象分:DROP TABLE删表、DROP VIEW删视图、DROP INDEX删索引、DELETE FROM删行、ALTER TABLE ... DROP COLUMN删列。复习时把这五个写在一张纸上,比分别记五遍牢。

6.4 SQL 手写拼写与语法细节

易漏点:CREATE写成CREAT、INSERT写成INSER、SELECT写成Selecct、CLUSTERED写成CLUSTED、ALTER TABLE ... ADD COLUMN在部分产品里不支持COLUMN关键字。这些在手写卷子上就是白丢的分。

为什么漏:键盘上有自动补全,纸上没有;平时在编辑器里写错立刻标红,考试时写完就交,没人帮你检查。

怎么补:整理一份「我写错过的高频词表」,每次模考前默写一遍建表、加列、建索引、建视图、删表这五个模板。不追求快,追求一次写对。另外把ALTER TABLE 表名 ADD (列名 类型)和ALTER TABLE 表名 ADD COLUMN 列名 类型两种写法都记一下,按题目给的产品选。

6.5 双重否定与相关条件的连接

易漏点:写「选修了全部课程」时,两层NOT EXISTS里忘了把内层和外层用学号、课程号关联起来,语句能跑,结果是全表或者空表。

为什么漏:双重否定的思维本身绕,写的时候只盯着「不存在没选的课」这句中文,忘了 SQL 里「不存在」必须靠相关子查询逐行判断,一旦漏了sc.学号 = s.学号 AND sc.课程号 = c.课程号,子查询就变成了与当前行无关的常量判断。

怎么补:写之前先在纸上列出三个变量——学生、课程、选课记录,然后按「对每个学生 → 对每门课 → 是否存在选课记录」的顺序一层层写,写完把关联条件单独检查一遍。练三遍这个模板,考场上就不会再卡。

7. 复习清单与查漏补缺:考前一周的执行表

最后落到执行。这套试题覆盖的七章内容,按题型反推复习顺序效率最高,我的做法是把卷面题型和章节对应起来,做成一张自检表,每过一遍就在对应的格里打钩,没打上钩的就是下一轮的重点:

题型主要来源章节自检标准
单选、填空第 2、3、5 章的概念三级模式与两级映像、五个基本运算、ACID 能脱口而出
名词解释第 2、3、5、6 章每个术语能用两句话说清「是什么 + 解决什么问题」
简答题第 5、6、7 章三级封锁协议、E-R 转换规则、设计六步骤能默写
关系代数第 3 章五小问在 8 分钟内写完,除法和差不出错
SQL 语句第 4 章五个模板一次写对,双重 NOT EXISTS 不漏关联条件
综合体全章建表、查询、规范化分析串起来做一遍

配合这张表,具体执行分三步走。第一步是「按章扫盲」,一天两章,只做一件事:把教材目录摊开,每一节用一句话说出它在讲什么,说不出来的立刻回看。第二步是「按题型打靶」,把四套卷子里的错题按章号标回目录,只重做被标过的章对应的题,这一轮不追求做完,追求把错因写清楚——是概念记混、公式记反,还是单纯拼写翻车。第三步是「限时默写」,考前两天,只默写三样东西:三级模式与两级映像的对应关系、关系代数的五个基本运算加除法表达式、SQL 的五个建表建视图模板。默写完对着教材改,改完再默一遍。

查漏补缺有个笨但有效的办法:把每道错题的原因压缩成一句不超过十五个字的话,写在目录对应章节的旁边。比如「2NF 忘了看主属性」「>= MAX少一个等号」「双重 NOT EXISTS 漏关联」。考前最后一晚只看这些句子,不再翻书。人的记忆对「自己犯过的错」比对「正确的定义」敏感得多,这些短句就是你的索引。

从那以后我每次考前复习,都强制把错题按章号标回目录,只看被标过的章,剩下的章一律跳过。这个习惯帮我省下大量时间,也让我第一次意识到,复习的终点不是「全书都看过」,而是「知道哪几页还没吃透」。希望帮到你。

这套按七章铺开的数据库试题笔记,从概念地图一路整理到易错点和执行清单,配合原题做两遍,基本能把整个方向的骨架立起来。需要完整版的话,按你平时获取资料的渠道找一下同名资源即可。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询