第11章并发控制
一、选择题:
1、设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是
。
A.该操作不存在问题
B.该操作丢失修改
C.该操作不能重复读
D.该操作读“脏”数据
T1
T2
①读A10②③AA5写回④
读A10AA8写回
2、设有两个事务T1、T2,其并发操作如下所示,下面评价正确的是
。
A.该操作不存在问题B.该操作丢失修改
C.该操作不能重复读D.该操作读“脏”数据
T1
T2
①读A10,B5
②
读A10
AA2写回
③读A20,B5
求和25验证错
3、设有两个事务T1、T2,其并发操作如下所示,下列评价正确的是
。
A.该操作不存在问题B.该操作丢失修改
C.该操作不能重复读D.该操作读“脏”数据
T1
①读A100AA2写回②③ROLLBACK
恢复A100
T2读A100
4、解决并发操作带来的数据不一致性总是普遍采用
A.封锁
B.恢复
C.存取控制
。D.协商
5、若事务T对数据R已经加X锁,则其他事务对数据R
。
A.可以加S锁不能加X锁
B.不能加S锁可以加X锁
C.可以加S锁也可以加X锁
D.不能加任何锁
6、关于“死锁”,下列说法中正确的是
。
A.死锁是操作系统中的问题,数据库操作中不存在
B.在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库
C.当两个用户竞争相同资源时不会发生死锁
D.只有出现并发操作时,才有可能出现死锁
7、对并发操作若不加以控制,可能会带来
问题。
fA.不安全B.死锁
C.死机
D.不一致
8、并发操作会带来哪些数据不一致性A丢失修改、不可重复读、脏读、死锁C丢失修改、脏读、死锁
。B.不可重复读、脏读、死锁D.丢失修改、不可重复读、脏读
二、填空题1、DBMS的基本工作单位是事务,事物并发控制的主要方法是封锁机制。
9、有两种基本类型的锁,它们是共享锁(S锁)和排它锁(X锁)。
三、简答题1、叙述数据库中死锁产生的原因和解决死锁的方法。答:死锁产生的原因:封锁可以引起死锁。比如事务T1封锁了数据A,事务T2封锁了数据B。T1又申请封锁数据B,但因B被T2封锁,所以T1只能等待。T2又申请封锁数据A,但A已被T1封锁,所以也处于等待状态。这样,T1和T2处于相互等待状态而均不能结束,这就形成了死锁。
解决死锁的常用方法有如下三种:1要求每个事务一次就要将它所需要的数据全部加锁。2预先规定一个封锁顺序,所有的事务都要按这个顺序实行封锁。3允许死锁发生,当死锁发生时,系统就选择一个处理死锁代价小的事务,将其撤消,释放此事务持有的所有的锁,使其他事务能继r