操作序列T1、T2、T3对数据A、B、C并发操作如下所示,T1与T2间并发操作(50), T2与T3间并发操作(51)。

admin2008-04-04  37

问题 操作序列T1、T2、T3对数据A、B、C并发操作如下所示,T1与T2间并发操作(50), T2与T3间并发操作(51)。

选项 A、不存在问题
B、将丢失修改
C、不能重复读
D、将读“脏”数据

答案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事务覆盖而丢失了,破坏了事务的隔离性,所以丢失修改。
转载请注明原文地址:https://kaotiyun.com/show/1IxZ777K
0

相关试题推荐
最新回复(0)