原文筆記
本課程筆記資料庫系統 · 30 篇
Day 05 - 数据库100题:填空 81-100
参考重点:教材第 5 章完整性,第 11 章恢复技术,第 12 章并发控制。
81. 是 DBMS 的基本单位,它是用户定义的一组逻辑一致的程序序列。
答案:事务
讲解:事务是数据库恢复和并发控制的基本单位,具有 ACID 特性:原子性、一致性、隔离性、持久性。
82. DBMS 的基本工作单位是事务,它是用户定义的一组逻辑一致的程序序列;并发控制的主要方法是 机制。
答案:封锁
讲解:封锁机制通过 S 锁和 X 锁控制并发读写,使并发调度满足隔离性要求。SQL Server 中锁由引擎自动管理,也可用锁提示影响行为。
83. 有两种基本类型的锁,它们是①和②。
答案:①共享锁(S 锁);②排他锁(X 锁)
讲解:S 锁用于读,多个事务可以同时持有;X 锁用于写,与其他 S 锁和 X 锁都不相容。
84. 如果数据库中只包含成功事务提交的结果,就说数据库处于 状态。
答案:一致性
讲解:数据库一致性要求所有完整性约束都被满足,且不含失败或未提交事务的残留结果。
85. 对并发操作若不加以控制,可能带来的不一致性有①和②和③。
答案:①丢失修改;②读脏数据;③不可重复读
讲解:丢失修改是两个事务覆盖彼此结果;读脏数据是读取了未提交且后来撤销的数据;不可重复读是同一事务两次读取同一数据得到不同结果。教材中有时也把不一致分析列为典型问题。
86. 并发控制是对用户的 加以控制和协调。
答案:并发操作
讲解:并发控制不是禁止并发,而是在保持隔离性和一致性的前提下提高吞吐量和资源利用率。
87. 并发控制的主要方法是采用①机制,其类型有②和③两种。
答案:①封锁;②共享锁;③排他锁
讲解:共享锁读读相容,排他锁用于更新。两段锁协议建立在这些锁类型之上,可保证冲突可串行化。
88. 若事务 T 对数据对象 A 加了 S 锁,则其他事务只能对数据 A 再加①,不能加②,直到事务 T 释放 A 上的锁。
答案:①S 锁;②X 锁
讲解:S 锁之间相容,所以其他事务仍可读;但 X 锁不相容,所以其他事务不能写。
89. 若事务在运行过程中,由于种种原因,使事务未运行到正常终止点之前就被撤消,这种情况称为 。
答案:事务故障
讲解:事务故障只影响该事务本身,恢复时需要 UNDO 该事务已经执行的更新。
90. 数据库恢复是将数据库从①状态恢复到②的过程。
答案:①故障状态;②一致性状态
讲解:恢复技术的目标是保证事务的原子性和持久性,使数据库故障后仍能回到正确、一致的状态。
91. 系统在运行过程中,由于某种原因造成系统停止运行,事务以非控制方式终止,内存信息丢失而外存数据未破坏,这种情况称为 。
答案:系统故障
讲解:系统故障也称软故障,如断电、操作系统崩溃。恢复时通常根据日志从检查点开始 REDO 已提交事务、UNDO 未提交事务。
92. 系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为 。
答案:介质故障
讲解:介质故障也称硬故障,例如磁盘损坏。恢复时需要装入数据库后援副本,再利用日志重做备份以来已提交的事务。
93. 数据库系统在运行过程中,可能会发生故障。故障主要有①、②、介质故障和③四类。
答案:①事务故障;②系统故障;③计算机病毒或恶意破坏
讲解:教材常把故障分为事务内部故障、系统故障、介质故障和计算机病毒等。不同故障的恢复粒度和责任主体不同。
94. 数据库系统是利用存储在外存上其他地方的①来重建被破坏的数据库。它主要有两种:②和③。
答案:①冗余数据;②数据转储;③登记日志文件
讲解:冗余是恢复的基础。转储提供数据库副本,日志记录事务更新过程,两者结合才能恢复到最近一致状态。
95. 制作后援副本的过程称为①。它又分为②和③。
答案:①数据转储;②静态转储;③动态转储
讲解:静态转储期间数据库不能更新;动态转储允许事务并发执行,但必须配合日志保证副本可恢复。
96. 事务故障、系统故障的恢复是由①完成的,介质故障是由②完成的。
答案:①系统自动;②数据库管理员配合系统工具
讲解:事务故障和系统故障通常由 DBMS 根据日志自动处理;介质故障需要先恢复备份介质,再应用日志,常需要 DBA 介入。
97. 数据库的完整性是指数据的①和②。
答案:①正确性;②相容性
讲解:更完整地说,完整性包括正确性、有效性和相容性。正确性强调数据值合法,有效性强调符合现实语义,相容性强调同一事实在不同位置不矛盾。
98. 完整性约束是指①和②。
答案:①实体完整性约束;②参照完整性约束
讲解:本题按两空常见答案填写。复习时还要记住第 6 版教材强调的第三类:用户定义完整性,例如 CHECK (分数 BETWEEN 0 AND 100)。
99. 为了保护数据库的实体完整性,当用户程序对主码进行更新使主码值不惟一时,DBMS 。
答案:拒绝该操作
讲解:实体完整性要求主码唯一且非空。若插入或更新导致主码重复,DBMS 应进行违约处理,通常直接拒绝执行。
100. 在数据库系统中对存取权限的定义称为 。
答案:授权
讲解:授权定义用户或角色对数据对象的操作权限。SQL 中常用 GRANT 授权,REVOKE 收回权限,SQL Server 还支持 DENY 显式拒绝。