检查给定计划(DBMS)的视图可串行化
如果将调度视为等同于串行调度,则调度具有视图可序列化性。如果满足以下三个规则,则计划是视图可序列化的-
规则1-如果Ti最初读取数据,则此Tj在给定的时间表中写入相同的数据之后。在事务组合(读写操作)中必须遵循此顺序。
规则2-如果Ti最初写入数据,则在此Tj之后,在给定的时间表中读取相同的数据。在事务组合(写读操作)中必须遵循这个顺序。
规则3-如果Ti写入数据,则在此之后Tj最终写入数据。在事务组合(写-写操作)中必须遵循这个顺序。
问题
检查调度W3(X)、R2(X)、W2(Y)、R1(Z)、W3(Y)、W1(Y)的视图可序列化性。
解决方案
我们有三笔交易,所以交易组合如下-
这里,
规则1-T2最初读取,在此数字事务写入相同数据之后。所以我们保留所有的交易组合。
规则2-T3最初写入,在此T1读取相同的数据Z之后,这意味着事务序列必须是“t3后跟T1”。因此删除以下“T1不允许T3”的组合,即T1出现在T3之前。
规则3-T1最后写入数据,这意味着T1必须最后发生。所以删除以下“T1最后没有出现”的组合
因此,满足视图可序列化性的两个组合是-
结论
给定的时间表是视图可序列化的。