检查给定的时间表是否可序列化(DBMS)
如果一个调度表等同于一个串行调度表,它就具有视图可串行化性。如果满足以下三个规则,则计划是视图可序列化的-
规则1-如果Ti最初读取数据,则此Tj在给定的时间表中写入相同的数据之后。在事务组合(读写操作)中必须遵循此顺序。
规则2-如果Ti最初写入数据,则在此Tj之后,在给定的时间表中读取相同的数据。在事务组合(写读操作)中必须遵循这个顺序。
规则3-如果Ti写入数据,则在此之后Tj最终写入数据。在事务组合(写-写操作)中必须遵循这个顺序。
问题
检查调度R1(X)、R2(Y)、R2(Y)、W2(X)、W3(Y)、R1(Y)的视图可序列化性。
解决方案
创建交易的所有可能组合,我们有三个交易,因此组合如下-
规则1-T1在此T2写入相同数据后最初读取,这意味着事务序列必须是“T1后跟T2”,因此,删除以下组合,其中“T1后不跟T2”,即T2发生在必须删除T1之前。
Rule2-T2写数据,这个T1读到相同的数据X后,这意味着交易顺序必须是“T2后跟T1”,现在这个规则违反了规则1,因此没有任何规则可以应用,所以是不能查看可序列化。
规则3-我们不会检查规则3,因为我们已经得出结论,调度在规则2中不是视图可序列化的。
结论
给定的计划不是视图可序列化的。
热门推荐
10 诗词送行祝福语大全简短
11 新房开工吉日祝福语简短
12 50多岁生日简短祝福语
13 安徽疫情祝福语简短英语
14 农民朋友发财祝福语简短
15 对生活祝福语简短精辟
16 搬家词简短祝福语朋友
17 女神结婚快乐祝福语简短
18 文学短句祝福语大全简短