将附表1视为
T1 T2 R(A) A=A-50 W(A) R(A) A=A+20 W(A) CommitR(B) //Failure happens here //and T1 Rollbacks B=B+50 Commit
将附表2视为
R(B)
//Failure happens here
//and T1 Rollbacks
B=B+50
Commit
Commit
如果A = 100的初始值,那么在两种情况下,A的值最终都是100,那么第一个时间表是不可恢复的,第二个时间表是可以恢复的?
同样在第1个计划中,事务T1在事务T2提交之后回滚A的值。那么A的承诺价值也会回滚到100?
答案 0 :(得分:1)
同样在第一个计划中,事务T1在事务T2提交之后回滚A的值。那么A的承诺价值是否也会回滚到100?
是的,它将回滚到其初始值
可恢复的时间表是 其中,对于每对事务Ti和Tj,使得Tj先前读取数据项 由Ti编写,Ti的提交操作出现在提交操作之前 Tj。
*可恢复的时间表=非常规交易的回滚* 和
*不可恢复的时间表=已提交交易的回滚*