现有事务T1 T2 T3对数据库对象x y z的读写操作序列 指出下列调度方案中不是冲突可串行化的是()。
已帮助 人
现有事务T1、T2、T3对数据库对象x、y、z的读写操作序列,指出下列调度方案中不是冲突可串行化的是()。
A.w2(y) w1(y) r3(y) r1(y) w2(x) r3(x) r3(z) r2(z)
B.r3(z) r3(x) w2(x) r2(z) w1(y) r3(y) w2(y) r1(y)
C.r3(z) w3(y) w2(x) r1(y) r3(y) r2(z) r3(x) w1(y)
D.r2(z) w2(y) w2(x) w1(y) r3(y) r1(y) r3(z) r3(x)

热搜:x理论和y理论的主要观点
回答
共1条回复-
C 解析:本题考查的是数据库并发操作方面的基础知识。在事务并行处理的过程中,因为多个事务对相同数据的访问,干扰了其他事务的处理,产生了数据的不一致性,是事务隔离性的破坏导致了一致性的破坏。并发操作带来的数据不一致性有三类:丢失修改、不可重复读和读“脏”数据。试题(50)事务T1读取A、B的值后进行运算,事务T2在t6时刻对B的值做了修改以后,事务T1在t8、t9时刻又重新读取A、B的值再运算,同一事务内对同一组数据的相同运算结果不同,显然与事实不相符,这种情况的产生是由于事务T2干扰了事务T1的独立性,导致不可重复读。试题(51)事务T2、T3对数据B分别做减100和加50操作,都是写入数据库。其中事务T2在时刻t6把B修改后的值100写入数据库,但事务T3在时刻t11再把它对B加 50后的值250写入数据库。两个事务都是对B的值进行修改操作并且都执行成功,但B中的值却为250,造成数据的不一致。原因在于T2事务对数据库的修改被T3事务覆盖而丢失了,破坏了事务的隔离性,所以丢失修改。
