资讯动态

数据库系统概论期末试题精讲:从物理数据独立性到事务封锁

发布时间:2026/10/27 20:06:53 来源:尧图企业网站定制
简介这份资源是面向高校计算机专业学生的《数据库系统概论》期末复习试题文档适合备考冲刺、课堂同步练习与知识点自测。内容覆盖数据库系统基础、关系数据库与关系代数、SQL语言、数据库设计流程、DBMS功能组成、数据安全与事务处理、并发控制及数据库恢复等核心章节题型包含选择题、填空题、判断题、简答题与应用题并附有视图授权、外码判定、无损连接分解等典型题目的解析思路。包内共1个doc文件约170KB为完整Word版试题排版清晰、便于打印与批注。目前已有3502人学习下载说明其题目覆盖面与难度贴近真实考情。读者可借助它梳理物理数据独立性、候选码、封锁机制、事务ACID特性等高频考点通过成套练习检验掌握程度并对照参考答案理解解题逻辑适合作为期末前的系统自测材料。1. 数据库系统概论到底在讲什么从一张期末卷子说起很多人第一次听到“数据库系统概论”脑子里浮现的画面是满屏的 SQL 语句和一堆看不懂的范式编号。其实这门课讲的事情特别朴素怎么把数据存得整齐、取得快、改得安全还不容易出错。你可以把它想象成一个巨型仓库的管理学——数据是货物数据库是仓库数据库管理系统DBMS就是那个既管入库出库、又管谁能进哪个库房的仓管员。而这份期末考试试题恰好把仓库管理从入门到进阶的所有关键考点都串了一遍物理数据独立性、关系代数、SQL、范式分解、事务与封锁、ER 图转关系模型。搞懂这些概念你再看任何跟“数据”沾边的系统都不会觉得它是个黑匣子。2. 数据独立性为什么换个硬盘程序不用重写2.1 物理数据独立性到底独立了什么这是试卷选择题第一题就考的概念也是初学者最容易绕晕的地方。物理数据独立性physical data independence指的是应用程序和数据库在磁盘上的物理存储方式之间没有直接依赖关系。换句话说数据库底层从机械硬盘换成了固态硬盘或者索引结构从 B 树换成了哈希只要数据库的逻辑结构没变你写的查询程序一行都不用改。打个比方你家里用的是一个带抽屉的衣柜衣服按“上衣放左边、裤子放右边”来收纳。某天你换了一个内部隔层完全不同的新衣柜但只要你仍然知道“上衣在左边、裤子在右边”你找衣服的动作就不需要重新学。这里的“找衣服动作”就是应用程序“衣柜内部隔层”就是物理存储结构。物理数据独立性保护的正是这层关系。试卷里那道选择题的正确答案是“应用程序与存储在磁盘上数据库的物理模式是相互独立的”。注意它强调的是物理模式不是逻辑结构。逻辑数据独立性是另一个层次的概念指的是全局逻辑结构变了、用户的视图可以不变。两者合起来叫数据独立性是数据库系统区别于文件系统的一个核心优势。2.2 为什么这件事值得单独考一道题因为它是数据库系统“值钱”的根本原因之一。早期用文件系统管理数据时数据的存储格式和程序是绑死的换一种存储方式就得重写程序维护成本极高。数据库通过三级模式结构外模式、模式、内模式把“用户看到的数据”“全局逻辑结构”“物理存储”三层隔开任何一层的变化尽量不波及另外两层。物理数据独立性就是内模式变化不影响到模式和应用程序的那条隔离带。理解了这一点你就能明白为什么数据库管理员DBA敢在系统运行期间调整存储参数、重建索引、迁移表空间——只要逻辑模式不动上层应用就是安全的。这也是试卷填空题里考“DBMS 和 DBA 缩写含义”时想让你建立的认知框架DBMS 是软件DBA 是管这个软件和数据库的人而数据独立性是这套分工能成立的技术前提。提示物理数据独立性和逻辑数据独立性经常被混为一谈记住一个口诀——物理管“存哪儿”逻辑管“长什么样”。3. 关系模型与 SQL表和表之间是怎么对话的3.1 关系代数三个动作选择、投影、连接试卷反复考关系代数的专门运算因为它是 SQL 的数学底子。用最直白的话说选择σ从表里挑出满足条件的行。比如“找出所有年龄大于 20 岁的学生”。投影π从表里挑出指定的列。比如“只显示学生的姓名和性别”。连接JOIN把两张有共同属性的表拼成一张新表。比如学生表和选课表通过学号拼起来才能看到“谁选了什么课”。这三者的区别用一句话概括选择动行、投影动列、连接动表。试卷选择题第 4 题把这三个操作放在一起考就是因为它们是关系运算的骨架后面所有复杂的 SQL 查询都是这三者的组合。3.2 候选码和外码表的身份证和介绍信候选码是能唯一标识表中每一行的一个或一组属性。试卷里那道选择题的正确答案是“可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成”——注意候选码不限制属性个数一个属性可以多个属性组合也可以关键是“唯一标识”。外码则是另一张表的候选码在本表中的引用。试卷简答题专门问了外码并要求举例在学生选课数据库里选课表 SC 中的学号 SNO 就是外码因为它参照的是学生表 STUDENT 的主码。外码的作用是维护参照完整性——你不能让一个不存在的学生出现在选课记录里。打个比方候选码是每个人的身份证号外码是你在别人通讯录里留的那个身份证号。通讯录里可以没有你的其他信息但那个号码必须能在户籍系统里查到对应的人否则就是一条无效记录。3.3 SQL 的三种语言身份试卷选择题考“SQL 语言是什么语言”答案是关系数据库语言。但更值得记住的是 SQL 内部其实分三类动作语言类别全称管什么典型语句DDL数据定义语言建表、建视图、改结构CREATE、ALTER、DROPDML数据操纵语言查、插、改、删数据SELECT、INSERT、UPDATE、DELETEDCL数据控制语言授权、回收权限GRANT、REVOKE试卷里那道“查询、插入、修改、删除等操作的数据库语言称为什么”考的就是 DML。而后面简答题要求用 SQL 举例说明如何通过视图和存取控制保证安全性用的就是 DDL 建视图加 DCL 授权-- 先建一个只包含信息系学生的视图把其他系的数据挡在外面 CREATE VIEW IS_Student AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept IS; -- 再把这个视图的查询权限授给指定用户 GRANT SELECT ON TABLE IS_Student TO U1;这段代码的逻辑是视图本身不存数据只存定义所以不同用户看到的是同一张基表的不同“切片”。把切片权限授出去机密数据就不会出现在不该看到它的人面前。这也是试卷反复强调“数据库中只存放视图的定义”的原因——视图是虚表数据还在基表里。4. 范式与函数依赖为什么表要拆着放4.1 从 1NF 到 3NF消除三种“别扭”范式这个概念听起来玄学其实解决的是一个很具体的问题一张表里塞了太多不该塞在一起的信息导致改一条数据要动好几行还容易改漏。试卷里反复出现的“插入异常、删除异常、数据冗余”说的就是这种别扭。1NF每个属性都是不可再分的原子值。一张表里不能有“电话号码123, 456”这种一格塞多个值的情况。2NF在 1NF 基础上消除非主属性对候选码的部分函数依赖。也就是说如果主码是两个属性组合那么其他属性必须依赖整个组合不能只依赖其中一半。3NF在 2NF 基础上消除非主属性对候选码的传递函数依赖。A 决定 B、B 决定 C那么 C 就是传递依赖于 A这种依赖要拆出去。试卷综合题里那个“职工编号、日期、日产量、车间编号、车间主任”的例子就是标准素材主码是职工编号日期但车间编号只依赖职工编号不依赖日期这就是部分依赖所以不是 2NF。拆成 R1职工编号车间编号车间主任和 R2职工编号日期日产量之后R1 里又有“职工编号→车间编号→车间主任”的传递依赖再拆成 R11职工编号车间编号和 R12车间编号车间主任才达到 3NF。4.2 无损连接分解拆完还得能拼回去试卷应用题专门考了“判断分解是否为无损连接”。无损连接的意思是把一张表拆成几张之后通过自然连接还能还原出原来的数据一行不多一行不少。判断方法是构造一张初始表按函数依赖不断填值如果最后某一行全是 a 值就是无损连接。这个考点之所以重要是因为拆表不是随便拆的。拆得不好信息就丢了拼不回去。无损连接分解保证了“拆”这个动作是可逆的这也是数据库规范化理论里最实用的一条底线。4.3 BCNF在函数依赖范畴内做到极致BCNF 比 3NF 更严格每一个决定因素都必须是候选码。试卷里那道“关系 STUDENT 属于第几范式、逐步分解到 BCNF”的题就是让你先判断它只有 1NF然后消除部分依赖到 2NF再消除传递依赖到 3NF最后检查每个函数依赖的左边是不是候选码不是就继续拆。通俗地说3NF 允许“主属性对候选码的传递依赖”存在BCNF 连这个也不放过。试卷选择题里“属于 BCNF 的关系模式”正确答案是“在函数依赖范畴内已消除了插入和删除的异常”——注意“在函数依赖范畴内”这个限定因为 BCNF 不解决多值依赖带来的问题那是 4NF 的事。5. 事务、封锁与恢复多人同时改数据怎么不出乱子5.1 事务的四个字母ACID试卷选择题考了事务的原子性答案是“事务中包括的所有操作要么都做要么都不做”。事务的完整特性是 ACID 四个字母原子性Atomicity要么全做要么全不做没有中间状态。一致性Consistency事务执行前后数据库都处于一致状态。隔离性Isolation并发事务之间互不干扰。持久性Durability提交后的修改永久生效故障也不丢。用转账打比方A 转 100 给 B扣 A 的钱和加 B 的钱必须一起成功。如果扣完 A 的钱系统崩了B 没收到原子性就保证这次操作整体回滚A 的钱还在。试卷填空题里“提交COMMIT”和“回滚ROLLBACK”的含义就是原子性的两个执行出口。5.2 封锁机制S 锁和 X 锁的分工并发控制的主要方法是封锁。试卷选择题第 10 题考 S 锁的语义事务 T 对数据 A 加 S 锁共享锁后T 可以读 A 但不能改 A其他事务只能再加 S 锁不能加 X 锁排他锁。反过来X 锁一旦加上其他事务既不能读也不能写。这个规则用图书馆借书来类比最清楚S 锁像“阅览”多个人可以同时看同一本书但谁都不能在上面写字X 锁像“借走”一旦有人借走别人既看不到也改不了。封锁机制要解决的是并发操作带来的三类问题丢失修改、不可重复读、读“脏”数据。试卷里那道两个事务并发操作图的选择题考的就是判断属于哪一类。5.3 故障与恢复数据库的后悔药试卷填空题列出数据库运行中可能产生的三类故障事务故障Transaction failure、系统崩溃System crash、磁盘故障Disk failure。对应的恢复手段包括事务日志、检查点和数据备份。事务日志记录每一次修改的前像和后像系统崩溃后重做已提交的事务、撤销未提交的事务检查点则减少恢复时需要扫描的日志量。这里有个容易踩坑的地方日志必须先写、数据后写先写日志原则否则崩溃时可能数据已经落盘但日志没记恢复就失去了依据。这个顺序不是玄学是恢复机制能成立的前提。6. 常见误区这五个概念最容易张冠李戴6.1 误区一把物理数据独立性和逻辑数据独立性混为一谈易混点两者都叫“数据独立性”都涉及“改了什么而程序不变”。为什么混名字只差两个字试卷选择题又经常把“物理模式”“逻辑结构”放在同一道题的选项里。怎么区分看变化发生在哪一层。物理数据独立性对应的是内模式存储结构、存取方法变化不影响模式和应用程序逻辑数据独立性对应的是模式全局逻辑结构变化不影响外模式和应用程序。一个管“存哪儿”一个管“长什么样”。6.2 误区二以为候选码只能是一个属性易混点日常说“主键”时往往是一个字段导致以为候选码也必须是单个属性。为什么混很多示例表的主码确实是单属性学号、身份证号给人形成惯性。怎么区分候选码的定义只要求“能唯一标识元组”属性个数不限。试卷选择题明确考了这一点正确答案是“可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成”。组合候选码在选课表学号课程号里非常常见。6.3 误区三把等值连接和自然连接当成一回事易混点两者都是按相等条件把两张表拼起来。为什么混自然连接看起来就是等值连接的一种特例名字又相近。怎么区分自然连接一定是等值连接但等值连接不一定是自然连接。关键差别有两条自然连接要求相等的分量必须是公共属性并且结果中去掉重复属性等值连接不要求公共属性也不去重。试卷简答题专门考了这个区别说明它是高频混淆点。6.4 误区四认为 3NF 就一定满足 BCNF易混点范式编号越大越严格容易以为 3NF 已经“很高级”了。为什么混教材通常按 1NF→2NF→3NF→BCNF 顺序讲给人线性递进的错觉。怎么区分3NF 允许主属性对候选码存在传递依赖BCNF 不允许任何决定因素不是候选码。也就是说存在极少数关系满足 3NF 但不满足 BCNF。试卷里“属于 BCNF 的关系模式”那道题的限定语“在函数依赖范畴内”就是在提醒这个边界。6.5 误区五把视图当成存了数据的表易混点视图能像表一样被查询容易以为它里面也存了数据。为什么混使用体验上视图和表几乎没有差别。怎么区分试卷选择题明确考了“数据库中只存放视图的定义”不存放视图对应的数据。视图是虚表数据始终在基表里。视图的价值在于安全限制可见列和行和简化查询不是用来冗余存储的。7. 什么时候该用这些概念一份试题背后的判断边界这份试题覆盖的知识点在实际工作中并不是平均用力的。搞清楚“什么时候用、什么时候别用”比背下所有定义更有价值。该用的场景设计一张新表时先想清楚候选码是什么、有没有部分依赖和传递依赖这是范式的用武之地。多用户系统里出现并发修改封锁机制和事务隔离级别就是必须考虑的。系统需要区分不同用户的可见数据范围视图加授权是最直接的组合。ER 图转关系模型时1:N 联系把外码放在 N 端、M:N 联系单独建表这些规则在试卷综合题里反复出现也是实际建模的常规动作。别硬套的场景范式不是越高越好。报表查询场景下适度反规范化故意保留冗余可以减少多表连接、提升查询速度这时候死守 BCNF 反而翻车。封锁也不是越严越好锁粒度太大会导致并发度下降甚至死锁实际系统往往用多粒度封锁和隔离级别来折中。视图在需要频繁更新的场景下也有局限因为不是所有视图都可更新。判断维度倾向使用倾向慎用表结构设计有明确函数依赖、写多读少读多写少的报表宽表并发控制多事务同时改同一批数据单用户或只读场景安全性不同角色可见数据差异大所有用户权限一致恢复机制数据价值高、故障代价大可随时重建的临时数据我自己的习惯是每次设计表结构先把函数依赖列出来走一遍 1NF 到 3NF 的检查再根据查询模式决定要不要反规范化。这个动作花不了十分钟但能省掉后面大量“改一条数据要动五张表”的血泪经验。从那以后我每次建表都强制走一遍函数依赖梳理哪怕最后决定不拆至少知道自己在哪一步做了取舍。希望帮到你。这份数据库系统概论期末考试试题把上述概念以选择题、填空题、简答题、综合题的形式完整覆盖了一遍从基础定义到范式分解、ER 图转换、SQL 编写都有对应题目。如果你想把每个考点落到具体题型上练一遍可以获取完整文档对照复习。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑