考虑以下具有两个事务T1和T2的数据库调度。
S = r2(X); r1(X); r2(Y); w1(X); r1(Y); w2(X); a1; a2;
其中ri(Z)表示事务Ti对变量Z的读操作,wi(Z)表示Ti对变量Z的写操作,ai表示事务Ti的中止。
关于上述时间表,以下哪一项陈述是正确的?
(A) S是不可恢复的
(B) S是可恢复的,但具有级联中止
(C) S没有级联中止
(D) S是严格的答案: (C)
解释:
如图所示,
- T2覆盖T1写入的值
- T1中止:恢复其“记住的”值。
- 如果–> T1的中止要求T2的中止,但由于T2已经中止,则它不是级联中止,则可能会发生级联中止。因此,选项C
选项A –不正确,因为给定的时间表是可恢复的
选项B –不正确,因为它是可恢复的,并且避免级联中止;
选项D –不正确,因为T2在T1之后也执行中止操作,因此不严格。
这个问题的测验