乐趣区

关于数据库:数据库系统概论王珊第十章数据库恢复技术习题

  • pdf 下载:明码 7281
  • 专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解

名词解释

  • 事务:是用户定义的一个数据库操作序列。这些操作要么不做,要么全做,是一个不可分割的工作单位。例如在 RDBMS 中一个事务能够是一条 SQL 语句或整个程序。事务是数据库复原和并发管制的根本单位
  • 事务原子性:事务是数据库的逻辑工作单位,事务中蕴含的诸多操作要么全做、要么不做。因故障未能做完的,须要有一套机制用于“撤销”那一部分曾经做了的
  • 事务一致性:事务执行的后果必须是使数据库从一个一致性状态变到另一个一致性状态
  • 事务隔离性:一个事务不能被其余事务烦扰。也即一个事务的外部操作及应用的数据对其余并发事务是隔离的,并发执行的各个事务之间不能相互烦扰
  • 事务持续性:一个事务一旦提交,它对数据库中数据的扭转就是永久性的。接下来的其余操作或故障不应该对其执行后果有任何影响
  • 数据库复原:把数据库从因毁坏或故障而导致的谬误状态复原到某个已知的正确状态的技术
  • 事务故障:某个事务在运行过程中因为种种原因未运行至失常终止点就夭折了
  • 事务撤销(UNDO):事务故障意味着事务没有达到预期的起点(COMMIT 或者显式的 ROLLBACK), 因而,数据库可能处于不正确状态。恢复程序要在不影响其余事务运行的状况下,强行回滚该事务,即撤销该事务曾经作出的任何对数据库的批改,使得该事务如同基本没有启动一样
  • 系统故障:是指造成零碎进行运行的任何事件,使得零碎须要重新启动
  • 数据转储:指 DBA 定期手动或者通过设置使 DBMS 定期主动将整个数据库复制到存储介质上保存起来的过程。这些备用的数据称之为后备正本。当数据库早到毁坏后能够将后备正本从新装入,然而重装后的正本只能将数据库复原到转储时的状态,要想复原到故障产生时的状态,必须从新运行自转储当前的所有更新事物。因而,转储常和日志配合应用
  • 动态转储 :是在零碎中无运行事务时进行的转储操作。即转储操作开始的时刻数据库处于一致性状态,而转储期间不容许(或不存在) 对数据库的任何存取、批改流动。显然,动态转储失去的肯定是一个数据一致性的正本
  • 动静转储:是指转储期间容许对数据库进行存取或批改,也即转储和用户事物能够并发执行
  • 数据库镜像:主动地将整个数据库或其中要害数据复制到另一个磁盘上。须要留神,在理论利用中,只对要害数据和日志文件进行镜像,而不是对整个数据库进行镜像

简答题

应用题

【答案】

事务的概念

四个个性

复原技术能够保障事务的原子性和持久性

【答案】

事务执行的后果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中产生故障,有些事务尚未实现就被迫中断,这些未实现事务对数据库所做的批改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致性状态。
例如,某工厂的库存管理系统中,要把数量为 Q 的某种整机从仓库 1 移到仓库 2 寄存,则能够定义一个事务 T。T 包含两个操作:Q1=Q1-Q,Q2=Q2+Q。如果 T 非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量平白无故少了 Q

【答案】

如果先写了数据库批改,而在运行记录中没有注销下这个批改,则当前就无奈复原这个批改了。如果先写日志,但没有批改数据库,按日志文件复原时只不过是多执行一次不必要的 UNDO 操作,并不会影响数据库的正确性。所以为了平安,肯定要先写日志文件,即首先把日志记录写到日志文件中,而后写数据库的批改

准则

【答案】
(1)$T_{1}$、$T_{3}$ 重做;$T_{2}$、$T_{4}$ 回滚

(2)$T_{1}$ 重做;$T_{2}$、$T_{3}$ 回滚

(3)$T_{1}$ 重做;$T_{2}$、$T_{3}$ 回滚

(4)$T_{1}$ 重做;$T_{2}$ 回滚

【答案】

(1)A=8、B=7、C=11

(2)A=10、B=0、C=11

(3)A=10、B=0、C=11

(4)A=10、B=0、C=11

(5)A=0、B=0、C=0

【答案】

【答案】

【答案】

点击跳转

【答案】

退出移动版