【5/11- 21】第十一章课后题

在这里插入图片描述

1.设T1、T2、T3是如下的三个事务,设A的初值为0.
T1:A:=A+2;
T2:A:=A*2;
T3:A:=A
2; (即 A←A²)**
(1)若这三个事务允许并发执行,则有多少种可能的正确结果?请一一列举出来。

 三个事务一共有2x3种排序(有点排列组合那味)
 T1 T2 T3 结果为16
 T1 T3 T2 结果为8
 T2 T1 T3 结果为4
 T2 T3 T1 结果为2
 T3 T1 T2 结果为4
 T3 T2 T1 结果为2
 所以一共有4种可能的正确结果 16 8 4 2

(2)请给出一个可串行化的调度,并给出执行结果。
在这里插入图片描述

(3)请给出一个非串行化的调度,并给出执行结果。
在这里插入图片描述
(4)若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度。
在这里插入图片描述
(5)若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度。
在这里插入图片描述
**2.今有三个事务的一个调度r3(B)r1(A)w3(B)r2(B)r2(A)w2(B)r1(B)w1(A),该调度是冲突可串行化的调度吗?为什么?**
在这里插入图片描述
3.考虑T1和T2两个事务。
T1: R(A); R(B);B=A+B; W(B) T2:R(B); R(A);A=A+B; W(A)

(1)改写T1和T2,增加加锁操作和解锁操作, 并要求遵循两阶段封锁协议。

T1: Slock A; R(A); Slock B; R(B); B=A+B; Xlock B;W(B); Unlock A; Unlock B;
T2: Slock B; R(B); Slock A; R(A); A=A+B; Xlock A;W(A); Unlock B; Unlock A

(2)说明T1和T2的执行是否会引起死锁,给出T1和T2的一个调度并说明之。
在这里插入图片描述
在这里插入图片描述
哦 !数据库剧终了 下面全面进攻复习和数据库大实验!
在这里插入图片描述

  • 20
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值