简介:本资源为中南大学数据库课程期末考试真题试卷及配套复习纲要,面向计算机及相关专业本科生、考研备考学生及数据库初学者,旨在系统梳理数据库核心理论与应试要点。压缩包内含1个DOC格式文档(164KB),完整覆盖数据库概述、ER模型、关系模型、SQL语言、数据库保护、规范化理论及应用设计六大模块,包含选择题、填空题、术语解释与简答题四类典型题型共30余道,并附详细知识点索引与复习提纲。内容紧扣教学大纲,突出三级模式结构、ACID事务、并发控制、函数依赖与范式转化等高频考点,题干设计规范,答案逻辑清晰,便于自测巩固与考前冲刺。目前已有355人学习下载,是掌握数据库原理、提升解题能力与应对高校数据库类考试的实用参考资料。
1. 这不是一份“题库”,而是一张数据库知识的三维导航图:从抽象层次到操作语义,从理论异常到SQL落地
如果你正在系统复习数据库,或刚啃完《数据库系统概论》前六章却感觉知识点像散落的珠子——这很正常。中南大学这份试题集之所以被反复传阅,正因为它无意中构建了一条极清晰的「认知锚线」:所有考点都严格对应数据库知识体系的三个垂直维度——抽象层(模式/映射/模型)、约束层(完整性/范式/事务)、操作层(SQL/代数/并发)。它不考偏题怪题,但每道选择题都在逼你确认:这个概念到底落在哪一层?比如第1套卷单选第1题问“数据库系统的体系结构”,表面考三级模式,实则在检验你是否真正理解「外模式→模式→内模式」这条映射链如何同时支撑逻辑独立性与物理独立性;再如第2套卷填空第7题“DB并发操作带来的三类问题”,答案是“丢失更新、不可重复读、读脏数据”,但若只背结论,遇到第3套卷问答题第4问“数据依赖对关系模式的影响”,就无法把“部分函数依赖→插入异常→2NF改造”这条因果链串起来。这份资料最珍贵的不是答案本身,而是它用29页试卷+标准答案,把教科书里扁平的知识点,压成了可触摸的立体结构——模式是骨架,约束是神经,操作是肌肉。适合两类人:一类是正在搭建知识框架的初学者,需要一张能标注“这里易错”“此处必考”的地图;另一类是临考前查漏补缺者,需要快速定位自己卡在哪个维度——是抽象层没想透(比如分不清“模式”和“外模式”的边界),还是约束层没吃透(比如3NF和BCNF的判定条件总混淆),抑或操作层不熟练(比如写不出“选修全部课程”的嵌套NOT EXISTS)。接下来,我们就按这三层结构,把29页试卷里埋藏的57个核心考点、12处高频易错陷阱、8类必须手写的SQL模板,全部摊开、归位、标红。
2. 抽象层:三级模式与数据模型——为什么“模式映射”是数据库独立性的唯一支点
数据库的抽象能力,是它区别于文件系统的核心。这份试题集从CH1开始就牢牢抓住这个本质:所有关于“DBMS引入意义”“三级模式结构”“ER模型 vs 关系模型”的题目,都不是孤立概念,而是在反复验证一个底层逻辑——数据独立性必须通过分层+映射来实现。没有映射,分层就是纸糊的;没有分层,映射就失去对象。我们拆解试卷中所有相关考点,还原其技术实质。
2.1 三级模式:不是三个名词,而是两组映射定义的两种独立性
试卷中反复出现的“三级模式结构”(如第1套单选第1题、第2套单选第4题、第3套填空第2题),常被简化为“外模式-模式-内模式”三个名词。但真正决定考试成败的,是能否说清这两组映射各自保障什么:
| 映射类型 | 定义位置 | 保障的独立性 | 典型考题场景 | 为什么容易错 |
|---|---|---|---|---|
| 外模式/模式映射 | DBA创建外模式时定义 | 逻辑独立性:当全局逻辑结构(模式)改变时,用户程序(基于外模式)无需修改 | 第1套单选第7题:“要保证数据库物理数据独立性,需要修改的是?”——正确答案是B(模式与内模式的映射),而非C(模式与外模式的映射) | 混淆“逻辑”与“物理”:误以为用户视图变化才需改映射,其实用户视图(外模式)变,改的是外模式本身;而模式变,才需调外模式/模式映射来屏蔽变化 |
| 模式/内模式映射 | DBA设计存储结构时定义 | 物理独立性:当数据物理存储方式(内模式)改变时,全局逻辑结构(模式)保持不变 | 第4套填空第7题:“当数据的存储结构改变时…称之为数据的______”——答案是“物理独立性”,其技术基础正是模式/内模式映射 | 将“存储结构改变”等同于“数据库迁移”,忽略映射的本质是逻辑描述(模式)与物理实现(内模式)的解耦接口 |
提示:所有关于“独立性”的题目,答案必与映射直接相关。若选项中出现“修改模式”“修改外模式”等表述,基本是干扰项——独立性靠映射保障,而非修改模式本身。
2.2 数据模型:ER模型是“画布”,关系模型是“代码”,二者不可互换
试卷CH2(ER模型)与CH3(关系模型)的对比题(如第1套单选第10题、第2套单选第13题),暴露出一个普遍误区:把ER图当作数据库的“高级形态”。实际上,ER模型是概念设计阶段的沟通工具,关系模型才是DBMS执行的机器语言。二者关系不是升级,而是翻译:
- ER模型三要素(实体、属性、联系)解决“世界是什么”:第1套填空第2题“实现概念模型最常用的表示方法是_E-R图__”,强调其作为信息模型的定位——它不关心主键怎么建、索引怎么设,只描述“学生有学号、姓名,与课程存在选修关系”。
- 关系模型三要素(关系、完整性约束、关系运算)解决“机器怎么存”:第1套简答第2题“关系的实体完整性规则”,直指关系模型的执行铁律——主码非空且唯一,这是DBMS强制校验的底线,不是ER图里画个“主键”符号就能替代的。
这种分工在试题中体现为严格的场景隔离:
- 凡涉及“设计”“概念”“E-R图转换”(如第2套单选第7题、第3套问答第5题),答案必选ER或概念模型;
- 凡涉及“查询”“约束”“规范化”(如第1套应用题、第2套应用题),答案必落回关系模型。
2.3 数据库系统(DBS)相关概念辨析:四个缩写不是并列关系,而是包含关系
试卷CH1第4点(DB/DBMS/DBS/DBAS)及第1套单选第8题、第3套单选第1题,专门考查概念层级。常见错误是把它们当成同级术语罗列。梳理其真实关系:
- DB(Database):纯粹的数据集合,如“学生表、课程表”这些磁盘上的文件。
- DBMS(Database Management System):管理DB的软件,如MySQL、Oracle,提供DDL/DML/DCL功能。
- DBS(Database System):DB + DBMS + 硬件 + DBA + 用户的完整运行体。第3套单选第2题“数据库系统包括…”,正确答案必须包含“各类相关人员”。
- DBAS(Database Application System):基于DBS开发的具体应用,如教务系统、银行系统。它依赖DBS,但不是DBS的组成部分。
注意:第1套单选第8题“不属于数据库特点的是”,选项D“数据独立性低”是典型反向干扰——数据库的核心特点恰恰是高数据独立性,这正是三级模式的价值所在。
3. 约束层:完整性、范式与事务——为什么“约束”不是限制,而是数据健康的免疫系统
如果说抽象层定义了数据库的“形”,那么约束层就决定了它的“质”。试卷CH3(完整性约束)、CH6(规范化理论)、CH5(数据库保护)三大板块,共同构成数据库的健康免疫系统:完整性是日常体检,范式是基因优化,事务是危重抢救。所有失分点,几乎都源于将约束视为“DBMS强加的麻烦”,而非保障数据可信的基础设施。
3.1 完整性约束:四类约束各司其职,外键是“关系”的法律凭证
试卷CH3第2点明确列出完整性约束的层次:表内(域、主键、唯一性)与表间(外键、触发器)。第1套填空第8题、第2套填空第10题、第3套填空第8题均聚焦于此。关键在于理解每类约束的技术含义与适用场景:
- 域约束(Domain Constraint):字段取值范围,如
年龄 INT CHECK(年龄 BETWEEN 0 AND 150)。试卷虽未直接考语法,但在应用题(如第1套综合题第1题)中隐含此逻辑——查询“年龄18到22之间”,前提是年龄字段已定义合理域。 - 主键(Primary Key)与唯一性(Unique):第1套单选第6题“借阅关系的码”,答案C“书号+读者号”即主键;第4套填空第3题“外关键字”定义,指向唯一性约束的延伸。二者核心区别:主键不允许NULL,唯一性允许NULL(但仅一个)。这是SQL笔试高频踩坑点。
- 外键(Foreign Key):试卷CH3明确指出其用于“表间完整性维护”,第2套填空第10题“参照完整性规则是定义__参照关系__与__被参照关系__之间的引用规则”。其技术本质是强制参照关系中的外码值,必须存在于被参照关系的主码值中。第1套综合题第4题“查询选修‘数据库原理’的学生”,其子查询
Select 课程号 From 课程 Where 课程名=’数据库原理’,正是外键约束的逆向应用——用被参照表(课程)的主码,去匹配参照表(选课)的外码。
3.2 规范化理论:范式不是目标,而是消除异常的手术刀
CH6是试卷中最易失分的理论板块。第1套填空第8题、第2套单选第13题、第3套问答第2题,全在考查对“异常-依赖-范式”链条的理解。核心逻辑是:异常是症状,函数依赖是病因,范式是手术方案。
四类异常(第1套填空第8题答案:数据冗余度大、修改麻烦、删除异常、插入异常):
- 插入异常:如“某系无学生时,无法录入系主任信息”(因系主任依赖于“系”这一非主属性);
- 删除异常:如“删除某系最后一名学生,导致系主任信息丢失”;
- 更新异常:如“某系主任更换,需修改所有该系学生记录”;
- 数据冗余:上述异常的共性结果。
函数依赖(第3套问答第4题):试卷明确定义“部分函数依赖”“传递函数依赖”。以第3套问答第2题为例:关系模式含(学号,姓名,所在系,系主任,课程名,成绩),其中
所在系 → 系主任,而学号 → 所在系,故学号 → 系主任是传递函数依赖(学号→所在系→系主任),这直接导致系主任信息冗余,违反3NF。范式演进逻辑(第2套单选第13题):1NF(原子性)→ 2NF(消除非主属性对码的部分依赖)→ 3NF(消除非主属性对码的传递依赖)。第2套单选第1题“任何两个属性的关系一定满足3NF”,因其不可能存在传递依赖(只有两个属性,要么是码,要么是非主属性,无法构成A→B→C链条)。
3.3 事务与ACID:不是四个字母,而是并发安全的黄金契约
CH5“数据库保护”中,事务是并发控制的基石。第1套简答第5题、第2套填空第8题、第4套问答第1题,均要求默写ACID。但死记硬背毫无意义,必须理解每个特性在并发场景下的技术实现:
| ACID特性 | 技术保障机制 | 试卷对应考点 | 易错点 |
|---|---|---|---|
| 原子性(Atomicity) | 事务日志(Log)+ 回滚(Rollback) | 第1套填空第4题“数据库恢复技术:数据转储、登记日志文件” | 误以为原子性靠锁实现——锁解决并发冲突,原子性靠日志保障“全做或全不做” |
| 一致性(Consistency) | 完整性约束(主键、外键、CHECK)+ 应用逻辑 | 第1套简答第2题“实体完整性规则”、第2套问答第2题“关系模型完整性规则” | 将一致性等同于“数据正确”——它特指事务执行前后,数据库必须从一个一致状态转移到另一个一致状态,约束是守门员 |
| 隔离性(Isolation) | 并发控制协议(封锁、时间戳、MVCC) | 第1套单选第4题“并发操作问题:丢失更新”、第2套单选第9题“排它锁权限” | 混淆隔离级别——试卷默认考察可串行化(Serializable),即最高隔离,其他级别(Read Committed等)未涉及 |
| 持久性(Durability) | 日志强制写入(Write-Ahead Logging, WAL)+ 数据库刷盘 | 第1套填空第4题“登记日志文件”、第3套填空第12题“利用日志和副本恢复” | 误以为持久性=数据不丢——它指事务提交后,其结果永久保存,即使系统崩溃 |
提示:第2套单选第14题“实现事务隔离性的子系统”,答案是C“并发控制子系统”,而非D“恢复管理子系统”。恢复子系统保障原子性与持久性,隔离性由并发控制子系统负责。
4. 操作层:SQL、关系代数与并发控制——为什么“写对SQL”比“背熟语法”难十倍
操作层是抽象与约束的最终落地。试卷CH4(SQL)、CH3(关系代数)、CH5(并发控制)构成三位一体:SQL是用户接口,关系代数是理论内核,锁协议是并发引擎。失分往往不在语法细节,而在场景误判——把“查询”当“更新”写,把“单表”当“多表”处理,把“读操作”当“写操作”加锁。
4.1 SQL:DDL/DML/DCL三分天下,索引是性能的隐形开关
试卷CH4明确区分SQL功能,第1套单选第2题、第2套单选第6题均考其本质。但真正拉开差距的,是索引与约束的联动理解(第1套CH4第3点):
- DDL(Data Definition Language):
CREATE/DROP/ALTER,定义数据库结构。第1套六题第1题建表、第2题加列、第5题删表,全是DDL。注意第1套六题第3题“建索引”,索引属于物理设计,是DDL范畴,非DML。 - DML(Data Manipulation Language):
SELECT/INSERT/UPDATE/DELETE,操作数据。第1套七题所有查询、插入、更新均为DML。 - DCL(Data Control Language):
GRANT/REVOKE,权限控制。第2套填空第11题、第4套单选第7题均考此。
索引的关键考点(第1套CH4第3点):
- 聚簇索引(Clustered Index):数据行物理顺序与索引顺序一致,一张表只能有一个(如第1套六题第3题“按编号的索引”,若未声明
UNIQUE或CLUSTERED,默认非聚簇)。第4套单选第10题直接定义“索引项顺序与记录物理顺序一致”即聚簇索引。 - 非聚簇索引(Non-clustered Index):索引叶节点存储指向数据行的指针,可建多个。
- 与约束关系:
PRIMARY KEY自动创建唯一聚簇索引(除非指定NONCLUSTERED);UNIQUE约束自动创建唯一非聚簇索引。第1套六题第3题要求“唯一索引 unique index ,聚族索引 clustered index”,需写CREATE UNIQUE CLUSTERED INDEX teach ON teacher(bh);
4.2 关系代数:五种基本运算不是公式,而是查询逻辑的原子积木
CH3第4点“关系代数”是试卷难点。第1套单选第11题、第2套单选第5/10题,均考运算本质。必须抛弃“背符号”思维,用自然语言重构:
- 传统集合运算(并∪、差−、笛卡尔积×):作用于同结构关系(属性名、数量、类型相同)。第1套应用题(1)“求选修课程5的学生学号和姓名”,需先
π_{学号}(σ_{课程号='5'}(选课)),再与学生表连接,不能直接对学生表和选课表求差——结构不同。 - 专门关系运算(选择σ、投影π、连接∞、除法÷):
σ(选择):水平切片,筛选元组,如σ_{年龄>18}(学生)。π(投影):垂直切片,筛选属性,如π_{学号,姓名}(学生)。∞(连接):跨表关联,学生 ∞_{学生.学号=选课.学号} 选课。÷(除法):“全部”语义,如第1套应用题(4)“选修全部课程的学生”,标准解法是学生 ÷ π_{课程号}(课程)。其逻辑是:对每个学生,检查其选课集合是否包含所有课程号。
注意:第1套应用题(5)“选修了学号为‘95001’学生所学过的所有课程的学生”,是除法的变体:先
π_{课程号}(σ_{学号='95001'}(选课))得目标课程集,再学生 ÷ 目标课程集。
4.3 并发控制:锁不是万能,但无锁寸步难行
CH5“并发控制”聚焦锁机制。第1套单选第4题、第2套单选第9题、第4套单选第6/10题,均考锁的类型与粒度。核心是理解锁的目的:防止多个事务交叉执行破坏数据一致性。
- 锁的类型:
- 共享锁(S锁):读操作加锁,允许多个事务同时读(第2套单选第9题T获得排它锁,则T对Q“既可读又可写”,因X锁排斥所有其他锁)。
- 排它锁(X锁):写操作加锁,排斥所有其他锁(第2套单选第9题答案C)。
- 锁的粒度(第4套单选第7题):从大到小为数据库→表→记录→字段。记录级锁(Row-level Lock)是主流DBMS最小粒度,平衡并发性与开销。试卷默认考察记录级。
- 死锁(Deadlock):第4套填空第10题定义“T1等T2,T2等T1”。预防策略(第4套问答第4题):一次封锁法(事务开始即锁所有需用数据)、顺序封锁法(规定全局锁序)。
5. 易错点:12处高频翻车现场——为什么“明明会”却总丢分?
这份试题集最残酷也最宝贵的地方,在于它精准暴露了学习者从“知道”到“掌握”之间的12道鸿沟。这些不是冷知识,而是所有人在建立数据库直觉时必然经历的认知断点。梳理如下,每一条都附带血泪经验式的纠错指南:
5.1 外模式/模式/内模式:混淆“谁为谁服务”
- 易漏点:认为“外模式是给DBA看的”,或“内模式是用户写的物理存储代码”。
- 为什么漏:教材常强调“三层结构”,却未点破外模式是DBA为特定用户组定制的逻辑视图,模式是DBA定义的全局逻辑结构,内模式是DBA定义的物理存储描述。三者都是DBA的工作产物,用户只接触外模式。
- 怎么补:做第1套单选第1题时,默念:“三级模式结构”=“一个模式(全局逻辑)+多个外模式(用户视图)+一个内模式(物理存储)”,映射是DBA配置的桥梁。
5.2 主键 vs 候选码:把“唯一性”当“标识性”
- 易漏点:第1套单选第6题“借阅关系的码”,选A“书号”或B“读者号”,忽略“同一本书允许多次借阅,但不能同时借多本”意味着(书号,读者号)组合才能唯一标识一次借阅。
- 为什么漏:误以为主键必须是单个字段,或混淆“候选码”(能唯一标识元组的属性组)与“主码”(从中选出的一个)。
- 怎么补:凡遇“码”题,先找最小超码——能唯一标识元组,且去掉任一属性就失效。借阅表中,单独书号不能标识(同一书多人借),单独读者号不能标识(同一人借多书),故(书号,读者号)是候选码。
5.3 视图操作:误把“虚表”当“实表”
- 易漏点:第1套单选第3题“在视图上不能完成的操作”,选C“更新视图”,但实际某些简单视图可更新;正确答案D“在视图上定义新的基本表”,因视图是虚表,不能作为建表依据。
- 为什么漏:将“视图可更新”绝对化,忽略其前提(如不能含聚合、分组、DISTINCT、子查询等)。
- 怎么补:牢记视图本质是存储的SELECT语句。任何试图改变底层表结构的操作(建表、删表、改列),都与视图无关。
5.4 关系代数除法:用“存在”代替“全部”
- 易漏点:第1套应用题(4)“选修全部课程的学生”,用
π_{学号}(选课) − π_{学号}(σ_{课程号 NOT IN π_{课程号}(课程)}(选课))等错误思路,陷入“排除法”陷阱。 - 为什么漏:除法
R ÷ S的语义是“R中那些与S中所有元组都有联系的元组”,需用双重否定:R ÷ S = π_{X}(R) − π_{X}(π_{X}(R) × S − R),试卷参考答案的NOT EXISTS嵌套正是此逻辑。 - 怎么补:遇到“全部”“每一个”“所有”等词,条件反射写
NOT EXISTS ( SELECT * FROM S WHERE NOT EXISTS ( SELECT * FROM R WHERE R.X=S.X AND R.Y=S.Y ) )。
5.5 SQL NULL处理:把“未知”当“假”
- 易漏点:第2套单选第8题“涉及空值的操作,不正确的是”,选A或B,忽略C“AGE = NULL”永远为UNKNOWN,非TRUE/FALSE,应写
AGE IS NULL。 - 为什么漏:SQL中NULL参与任何比较(=, <>, >)结果均为UNKNOWN,WHERE子句只保留TRUE行。
- 怎么补:所有NULL判断,必须用
IS NULL或IS NOT NULL,禁用=。
5.6 聚簇索引:以为“主键=聚簇索引”
- 易漏点:第1套六题第3题“建按编号的索引”,写
CREATE INDEX teach ON teacher(bh);,未加CLUSTERED,但题目明确要求“聚族索引”。 - 为什么漏:多数教材示例中主键自动建聚簇索引,但
CREATE INDEX默认建非聚簇,需显式声明。 - 怎么补:建聚簇索引必须写
CREATE CLUSTERED INDEX ...,且一张表仅一个。
5.7 事务隔离级别:混淆“可串行化”与其他级别
- 易漏点:第1套单选第4题“并发操作问题”,选A“数据独立性降低”,但标准答案D“丢失更新”是可串行化缺失的直接后果。
- 为什么漏:未意识到试卷所有并发题均基于可串行化(最高隔离),其他级别(如读已提交)未涉及。
- 怎么补:凡考并发问题,只考虑可串行化下的现象:丢失更新、不可重复读、读脏数据。
5.8 函数依赖推导:忽略“平凡依赖”
- 易漏点:第3套问答第2题分析函数依赖,漏写
学号 → 学号等平凡依赖(X→Y且Y⊆X)。 - 为什么漏:教材强调非平凡依赖,但规范化判定需考虑所有依赖。
- 怎么补:写函数依赖时,先列所有平凡依赖,再找非平凡依赖。
5.9 数据库恢复:混淆“日志”与“备份”
- 易漏点:第1套填空第4题“数据库恢复技术”,只写“数据转储”,漏“登记日志文件”。
- 为什么漏:数据转储(Backup)是全量恢复基础,但日志(Log)是增量恢复核心,记录所有事务操作,用于崩溃后重做(Redo)或撤销(Undo)。
- 怎么补:恢复必有二:转储(定期全量)+ 日志(实时增量)。
5.10 ER模型联系基数:把“n:m”当“1:n”
- 易漏点:第2套单选第2题“n:m联系通过增加一个( )”,选B“属性实现”,但正确答案A“关系实现”,因n:m需新建关联表。
- 为什么漏:误以为用属性(如“学生-课程”表加“成绩”属性)能表达n:m,实则属性只能表达1:1或1:n。
- 怎么补:n:m联系必转为独立关系(表),含两端主码作为外码。
5.11 视图定义:忽略WITH CHECK OPTION
- 易漏点:第4套填空第4题“为防止通过视图插入新行时违反定义条件”,漏
WITH CHECK OPTION。 - 为什么漏:此子句确保对视图的INSERT/UPDATE操作,新行必须满足视图WHERE条件。
- 怎么补:凡视图有WHERE条件且需支持DML,定义时必加
WITH CHECK OPTION。
5.12 规范化分解:忽视“无损连接”与“保持依赖”
- 易漏点:第2套填空第4题“分解关系的两条基本原则”,只写“保持函数依赖”,漏“具有无损连接性”。
- 为什么漏:无损连接保证分解后自然连接能还原原关系,避免信息丢失;保持依赖保证原约束能在新关系上验证。
- 怎么补:分解必双检:①
R1 ∩ R2 → R1−R2或R1 ∩ R2 → R2−R1(无损);② 所有FD在分解后关系的闭包中可推导(保持依赖)。
6. 复习清单:一份可执行的考前72小时冲刺计划——从知识地图到指尖肌肉记忆
现在,你手里有一张完整的数据库知识三维地图(抽象/约束/操作),也清楚了12个高频翻车点。但考试不是考你知道什么,而是考你在压力下能否瞬间调用正确模块。以下是我根据这份试题集提炼的72小时冲刺清单,不求面面俱到,只保核心路径畅通。每天24小时,分三轮推进,每轮聚焦一个维度,用“做题→溯源→重构”闭环强化。
6.1 第一轮:24小时,重建抽象层肌肉记忆(Day 1)
目标:看到“三级模式”“ER图”“关系模型”等词,脑中自动浮现映射关系与转换逻辑。
Step 1:限时自测(2小时)
用第1套、第2套、第3套的所有选择题与填空题(共约45题),严格计时90分钟完成。只做,不查,不纠结。完成后,用红笔标出所有抽象层题目(三级模式、数据模型、DBS概念等),统计错题数。Step 2:溯源精读(6小时)
针对错题,回归试卷CH1-CH2,逐句精读。重点重画三张图:- 三级模式映射图:在纸上画三层,用箭头标出“外模式/模式映射”保障逻辑独立性,“模式/内模式映射”保障物理独立性。在箭头旁写第1套第7题答案:“B.模式与内模式的映射”。
- ER到关系转换图:画一个简单ER图(如学生-选课-课程),旁边写出转换规则:实体→表,联系(1:1/1:n/n:m)→外码或新表。对照第2套单选第7题“ER图转换属逻辑设计阶段”,确认转换动作发生在概念设计之后、逻辑设计之中。
- DBS组成树状图:中心写DBS,分支画DB、DBMS、硬件、DBA、用户,用虚线框出DBAS(应用系统),标注“DBAS依赖DBS,但非其组成部分”。
Step 3:重构输出(4小时)
合上试卷,用手机录音功能,给自己讲3分钟:“数据库系统(DBS)不是软件,是DB+DBMS+硬件+DBA+用户的整体。DBMS是其中的软件管家,提供DDL建表、DML查数据、DCL管权限。它的核心能力来自三级模式:外模式是给不同用户看的定制视图,模式是全局逻辑蓝图,内模式是硬盘上的物理布局。两组映射让它们解耦——改物理布局(内模式)只需调模式/内模式映射,用户程序(基于外模式)完全不受影响。”
录完听一遍,不满意重录,直到逻辑流利、无术语卡壳。
6.2 第二轮:24小时,固化约束层条件反射(Day 2)
目标:看到“异常”“范式”“事务”等词,手指自动写出判定条件与SQL模板。
Step 1:异常-依赖-范式速查表(3小时)
制作一张A4纸表格,标题“四异常与函数依赖对应表”:异常类型 典型场景(一句话) 对应函数依赖 违反的范式 解决方案(一句话) 插入异常 某系无学生,无法录系主任 所在系 → 系主任(传递依赖) 3NF 拆表:系表(系,系主任),学生表(学号,姓名,所在系) 删除异常 删光某系学生,系主任丢失 同上 同上 同上 更新异常 改系主任,要改所有该系学生记录 同上 同上 同上 数据冗余 同一系主任信息重复存储 同上 同上 同上 填完后,默写第3套问答第2题的函数依赖:
学号 → 姓名,学号 → 所在系,所在系 → 系主任,(学号,课程名) → 成绩,圈出所在系 → 系主任并标注“传递依赖”。Step 2:ACID与锁协议手写(5小时)
在白纸上,不看资料,默写:- ACID四特性英文首字母、中文名、一句话技术保障(如A:原子性,靠日志+回滚);
- 锁类型对比表(S锁/X锁的兼容性矩阵);
- 死锁定义(第4套填空第10题原文)及一次封锁法、顺序封锁法定义(第4套问答第4题)。
写完对照试卷答案,红笔修正。
Step 3:SQL约束模板库(6小时)
新建文本文件,命名为sql_constraints.md,按以下格式敲入(务必手打,非复制):-- 1. 主键约束(建表时) CREATE TABLE student ( sno CHAR(10) PRIMARY KEY, sname VARCHAR(20) ); -- 2. 唯一约束(建表时) CREATE TABLE teacher ( tid INT UNIQUE, -- 允许NULL,但仅一个 tname VARCHAR(20) ); -- 3. 外键约束(建表时) CREATE TABLE sc ( sno CHAR(10), cno CHAR(5), grade INT, PRIMARY KEY(sno, cno), FOREIGN KEY(sno) REFERENCES student(sno), FOREIGN KEY(cno) REFERENCES course(cno) ); -- 4. 检查约束(域约束) CREATE TABLE student ( age INT CHECK(age BETWEEN 0 AND 150) ); -- 5. 视图WITH CHECK OPTION(防违规插入) CREATE
本文还有配套的精品资源,点击获取