数据库第10、11章习题及答案 (1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10、11章练习题(数据库恢复技术及并发控制)
一、选择题 1.( C )是DBMS 的基本单位,它是用户定义的一组逻辑一致的程序序列。
A .程序
B .命令
C .事务
D .文件 2.事务的原子性是指( A ) 。
A .事务中包括的所有操作要么都做,要么都不做
B .事务一旦提交,对数据库的改变是永久的
C .一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D .事务必须是使数据库从一个一致性状态变到另一个一致性状态 3.事务的一致性是指( D )。
A .事务中包括的所有操作要么都做,要么都不做
B .事务一旦提交,对数据为的改变是永久的
C .一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D .事务必须是使数据库从一个一致性状态变到另一个一致性状态 4.事务的隔离性是指( C )。
A .事务中包括的所有操作要么都做,要么都不做
B .事务一旦提交,对数据库的改变是永久的
C .一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D .事务必须是使数据库从一个一致性状态变到另一个一致性状态 5.事务的持续性是指( B )。
A .事务中包括的所有操作要么都做,要么都不做
B .事务一旦提交,对数据库的改变是永久的
C .一个事力内部的操作及使用的数据对并发的其他事务是隔离的
D .事务必须是使数据库从一个一致性状态变到另一个一致性状态
6.若数据库中只包含成功事务提交的结果,则此数据库就称为处于( B )状态。
A .安全
B .一致
C .不安全
D .不一致
7.若系统在运行过程中,由于某种原因,造成系统停止运行,致使事务在执行过程中以非控制方式终止,这时内存中的信息丢失,而存储在外存上的数据未受影响,这种情况称为( B )。
A .事务故障
B .系统故障
C .介质故障
D .运行故障 8.若系统在运行过程中,由于某种硬件故障,使存储在外存上的数据部分损失或全部损失,这种情况称为( C )。
A .事务故障
B .系统故障
C .介质故障
D .运行故障 9.( B )用来记录对数据库中数据进行的每一次更新操作。
A .后援副本
B .日志文件
C .数据库
D .缓冲区 10.用于数据库恢复的重要文件是( C )。
A .数据库文件
B .索引文件
C .日志文件
D .备注文件 11.数据库恢复的基础是利用转储的冗余数据。
这些转储的冗余数据包括( C )。
A .数据字典、应用程序、审计档案、数据库后备副本
B .数据字典、应用程序、日志文件、审计档案
C .日志文件、数据库后备副本
D .数据字典、应用程序、数据库后备副本 12.设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是( B )。
A .该操作不存在问题
D .该操作读“脏”数据
13.设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是( C )。
A .该操作不存在问题
“脏”数据
14.设有两个事务T1
、T2,其并发操作如下所示,下列评价正确的是( D )。
A .该操作不存在问题 “脏”数据
15
A.封锁B.恢复C.存取控制D.协商
16.若事务T对数据R已经加X锁,则其他事务对数据R( D )。
A.可以加S锁不能加X锁B.不能加S锁可以加X锁C.可以加S锁也可以加X锁D.不能加任何锁17.关于“死锁”,下列说法中正确的是( D )。
A.死锁是操作系统中的问题,数据库操作中不存在
B.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库
C.当两个用户竞争相同资源时不会发生死锁D.只有出现并发操作时,才有可能出现死锁
18.对并发操作若不加以控制,可能会带来( D )问题。
A.不安全B.死锁C.死机D.不一致
19.并发操作会带来哪些数据不一致性( D )。
A.丢失修改、不可重复读、脏读、死锁B.不可重复读、脏读、死锁
C.丢失修改、脏读、死锁D.丢失修改、不可重复读、脏读
20.如果事务T获得了数据Q上的排它锁,则T对Q( B )。
A.只能读不能写B.既可读又能写C.只能写不能读D.不能读不能写
21. 某数据库系统发生故障时,采用检查点技术恢复数据库。
如下图所示,在Tf时刻,系统出现故障时,恢复子系统将根据事务的不同状态采取不同的恢复策略,下列选项中,对于事务T1,T2,T3,T4,T5所采取的恢复策略描述正确的是( C )。
T c检查点T f系统故障
T1
T2
T3
T4
T5
A.要重做T1,T2 B.要重做T1,T5 C.要撤销T3,T4 D.T1,T2,T5都不需要重做
二、填空题
1.在登记日志文件时,必须先写日志文件,后写数据库。
2.若事务在运行过程中,由于种种原因,使事务未运行到正常终止点之间就被撤消,这种情况就称为事务故障。
3.数据库恢复是将数据库从错误状态恢复到某一已知的正确状态的功能。
4.数据库系统在运行过程中,可能会发生故障。
故障主要有事务故障、系统故障、介质故障和计算机病毒四类。
5.数据库系统是利用存储在外存上其他地方的冗余数据来重建被破坏的数据库。
它主要有两种:后援副本和日志文件。
6.DBMS的基本工作单位是事务,它是用户定义的一组逻辑一致的程序序列;并发控制的主要方法是封锁机制。
7.有两种基本类型的锁,它们是共享锁和排它锁。
8.可串行性是并发事务正确调度的准则。
9.冲突操作是指不同的事务对同一个数据的读写操作和写写操作。
10.DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来,得到的备用数据称为后备副本(或后援副本)。
11.在利用日志文件进行数据库恢复时,对未完成的事务应做撤销(UNDO)处理,而对已完成的事务应做重做(或REDO)处理。
三、简答题
1.事务中的提交和回滚是什么意思?
答:事务中的提交(COMMIT)是提交事务的所有操作。
具体说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
事务中的回滚(ROLLBACK)是数据库滚回到事务开始时的状态。
具体地说就是,在事务运行的过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库的所有已完成的更新操作全部撤消,使数据库回滚到事务开始时的状态。
2.为什么要设立日志文件?
答:设立日志文件的目的,是为了记录对数据库中数据的每一次更新操作。
从而DBMS可以根据日志文件进行事务故障的恢复和系统故障的恢复,并可结合后援副本进行介质故障的恢复。
3.基本的封锁类型有几种?试叙述它们的含义。
答:基本的封锁的类型有排它锁(“X”锁)和共享锁(“S”锁)两种。
若事务T对数据A加上X锁,则只允许事务T读取和修改数据A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。
若事务T对数据A加上S锁,则其他事务可以再对A加S锁,而不能加X锁,直到T释放A上的锁。
4.现有3个事务的一个调度Sc1=R3(B)R1(A)W3(B)R2(B)R2(A)W2(B)R1(B)W1(A),其中r i(X)指事务T i读X,w i(X)指事务T i 写X,该调度是冲突可串行化调度吗?为什么?
答:该调度是冲突可串行化的调度
Sc1= R3(B)R1(A)W3(B)R2(B)R2(A)W2(B)R1(B)W1(A)
把R1(A)与W3(B)交换,得到:
Sc2=R3(B) W3(B) R1(A)R2(B)R2(A)W2(B)R1(B)W1(A)
再把R1(A)与R2(B)R2(A)W2(B)交换:
Sc3=R3(B) W3(B) R2(B)R2(A)W2(B) R1(A)R1(B)W1(A)
Sc3等价于一个串行调度T3、T2、T1,因此Sc1是冲突可串行化的调度。
5.如何来判断一个并发调度是否为正确调度?
答:可串行性是并发事务正确调度的准则,若一个并发调度的执行结果与按某一次序串行执行这些事务的结果相同,则这种调度策略为可串行化调度,一个并发调度是可串行化调度,才认为是正确的调度。