可恢复与不可恢复的时间表

时间:2016-08-23 13:33:47

标签: database transactions schedule serializable

将附表1视为

    T1                      T2
    R(A)
    A=A-50
    W(A)
                            R(A)
                            A=A+20
                            W(A)
                            Commit

   R(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?

1 个答案:

答案 0 :(得分:1)

同样在第一个计划中,事务T1在事务T2提交之后回滚A的值。那么A的承诺价值是否也会回滚到100?

是的,它将回滚到其初始值

可恢复的时间表是 其中,对于每对事务Ti和Tj,使得Tj先前读取数据项 由Ti编写,Ti的提交操作出现在提交操作之前 Tj。

*可恢复的时间表=非常规交易的回滚*

*不可恢复的时间表=已提交交易的回滚*