📜  门| GATE CS 2021 |套装2 |第42章

📅  最后修改于: 2021-06-29 17:47:14             🧑  作者: Mango

令S为关系数据库系统中三个事务T1,T2和T3的以下操作时间表:

R2(Y),R1(X),R3(Z),R1(Y)W1(X),R2(Z),W2(Y),R3(X),W3(Z) 

考虑下面的语句P和Q:

  • P: S是可序列化的冲突。
  • 问:如果T3在T1完成之前提交,则S是可恢复的。

以下哪个选择是正确的?
(A) P和Q均为真
(B) P为真Q为假
(C) P为假而Q为真
(D) P和Q均为假答案: (B)
解释:

T1 T2 T3
  R(Y)  
R(X)    
    R(Z)
R(Y)    
W(X)    
  R(Z)  
  W(Y)  
    R(X)
    W(Z)

因此,语句P是可冲突序列化的。

附表S是可恢复的,如果T j通过用T读取写入的数据i和T J提交犯后T创建脏读。

T1和T2必须在T3之前提交,因为T3脏读取了T1和T2的值,因此,如果T3在T1完成之前提交,则S将不可恢复。

因此,陈述Q为假。

这个问题的测验