我在教科书(Avi Silberschatz、Henry F. Korth 和 S. Sudarshan $6e$ 的《数据库系统概念教科书》)中遇到了以下行。686:
Thomas 的写入规则允许不可冲突序列化但仍然正确的调度。那些允许的非冲突可序列化调度满足视图可序列化调度的定义(参见示例框)。
我从上面几行中了解到,遵循 Thomas 的写入规则的时间戳协议生成的每个时间表都是视图可序列化的。
现在让我们采用以下小时间表:$S:R_1(X)、W_2(X)、W_1(X)$。
这个时间表 $S$ 在时间戳协议下是允许的,该协议遵循 Thomas 的写入规则。
并且序列化顺序是 $R_1(X), W_1(X).$
但我无法证明它是视图可序列化的。
其实我认为它是非视图可序列化的,因为,
考虑串行顺序为 $T_1, T_2$
现在 $X$ 的最终值由 $T_2$ 写入。所以不等价。
下一个替代序列是 $T_2, T_1$
在这里,$R_1(X)$ 将读取由 $T_1$ 写入的 $X$ 的值,而不是在两个事务开始之前存在的原始值。所以这也不是视图等价的。
这里出了什么问题?请帮我解决这个问题。