数据库第十章课后题(2020.4.29作业)

1.考虑下图所示的日志记录:

序号 日志
1 T1:开始
2 T1:写A,A=10
3 T2:开始
4 T2:写B,B=9
5 T1:写C,C=11
6 T1:提交
7 T2:写C,C=13
8 T3:开始
9 T3:写A,A=8
10 T2:回滚
11 T3:写B,B=7
12 T4:开始
13 T3:提交
14 T4:写C,C=12

(1)如果系统故障发生在14之后,说明哪些事务需要重做,哪些事务需要回滚。

在系统故障发生之前已提交数据的事物重做,其他事务回滚
T1、T3重做,T4回滚

(2)如果系统故障发生在10之后,说明哪些事务需要重做,哪些事务需要回滚。

T1重做,T3回滚

(3)如果系统故障发生在9之后,说明哪些事务需要重做,哪些事务需要回滚。

T1重做,T2、T3回滚

(4)如果系统故障发生在7之后,说明哪些事务需要重做,哪些事务需要回滚。

T1重做,T2回滚

5.考虑题4所示的日志记录,假认开始时、B、C的值都是0:
(1)如果系统故障发生在14之后,写出系统恢复后4、B、C的值;

A=8,B=7,C=11

(2)如果系统故障发生在12之后,写出系统恢复后A、B、C的值;

A=10,B=0,C=11

(3)如果系统故障发生在10之后,写出系统恢复后A、B、C的值:

A=10,B=0,C=11

(4)如果系统故障发生在9之后,写出系统恢复后A、B、C的值;

A=10,B=0,C=11

(5)如果系统故障发生在7之后,写出系统恢复后A、B、C的值;

A=10,B=0,C=11

(6)如果系统故障发生在5之后,写出系统恢复后4、B、C的值。

A=0,B=0,C=0

总结:40分钟(+打字),感觉并不难,比上次作业还要轻松

原创文章 23 获赞 35 访问量 1万+

猜你喜欢

转载自blog.csdn.net/MooM_X/article/details/105846457