数据库系统概论第十一章习题资料

上传人:w****i 文档编号:92506244 上传时间:2019-07-10 格式:DOC 页数:3 大小:51.50KB
返回 下载 相关 举报
数据库系统概论第十一章习题资料_第1页
第1页 / 共3页
数据库系统概论第十一章习题资料_第2页
第2页 / 共3页
数据库系统概论第十一章习题资料_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据库系统概论第十一章习题资料》由会员分享,可在线阅读,更多相关《数据库系统概论第十一章习题资料(3页珍藏版)》请在金锄头文库上搜索。

1、第十一章习题9设T1,T2,T3是的三个事务:T1:A:=A+2;T2:A:=A*2;T3:A:=A*2;(AA2)设A的初值为0;(1)若这三个事务允许并发执行,则有多少种可能的正确结果,请一一列举出来;(2)请给出一个可串行化的调度,并给出执行结果;(3)请给出一个非串行化的调度,并给出执行结果;(4)若这三个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度;(5)若这三个事务都遵守两段锁协议,请给出一个产生死锁的调度。解:(1)4种A=16,8,4,2T1T2T3 A=16T1T3T2 A=8T2T1T3 或T3T1T2 A=4T2T3T1 或T3T2T1 A=2(2)一个可串行

2、化的调度及执行结果如下图所示:时间T1T2T3t1t2t3t4t5t6t7t8t9t10t11t12t13t14t15t16t17t18t19t20t21t22t23Slock AX=A=0Unlock AXlock AA=X+2写回A(2)Unlock ASlock A等待等待等待获得Slock AX=A=2Unlock AXlock AA=X*2写回A(4)Unlock ASlock A等待等待等待获得Slock AX=A=4Unlock AXlock AA=X2写回A(16)Unlock A执行结果为A=16,是可串行化的调度。(3)一个非串行化调度及执行结果如下图所示:时间T1T2T3

3、t1t2t3t4t5t6t7t8t9t10t11t12t13t14t15t16t17t18t19t20t21t22t23Slock AX=A=0Unlock AXlock A等待获得Xlock AA=X+2写回A(2)Unlock ASlock AX=A=0Unlock AXlock A等待等待等待获得Xock AA=X*2写回A(0)Unlock ASlock A等待获得Slock AX=A=4Unlock AXlock AA=X2写回A(4)Unlock A运行结果A=0,为非串行化调度。(4)若三个串行事务都遵守两段锁协议,下图是按T3T1T2顺序运行的一个不产生死锁的可串行化调度;时间

4、T1T2T3t1t2t3t4t5t6t7t8t9t10t11t12t13Slock A等待等待X=A=0Xlock A等待A=X+2写回A(2)Unlock AUnlock ASlock A等待等待等待X=A=2Xlock A等待A=X*2写回A(4)Unlock AUnlock ASlock AX=A=0Xlock AA=X2写回A(0)Unlock A Unlock A从上可见,按照T3T1T2的顺序执行结果A=4完全与串行化调度相同,所以是一个不产生死锁的可串行化的调度。(5)若三个事务都遵守两段锁协议,下图是一个产生死锁的调度。时间T1T2T3t1t2t3t4t5t6t7t8Slock AX=A=0Xlock A等待Slock AX=A=0Xlock A等待Slock AX=A=0Xlock A等待 上例中,T1申请对X1加写锁,由于T2对X1加了读锁,所以不成功,处于等待状态;T2申请对A加写锁,由于T1对A加了读锁,所以不成功,处于等待状态;T3申请对A加读锁,由于T1对A加了读锁,所以不成功,处于等待状态。因此,三个事务都处于等待状态,产生死锁。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号