全部科目 > 数据库系统工程师 >
2016年上半年 上午试卷 综合知识
第 55 题
知识点 并发操作带来的问题  
章/节 事务管理  
 
 
如右图所示的并发调度,假设事务T1、T2执行前数据项X、Y的初值为X=100,Y=200。该调度执行完成后,X、Y的值为(54);此类不一致性称为(55)。
 
  A.  丢失修改
 
  B.  读脏数据
 
  C.  不可重复读
 
  D.  破坏事务原子性




 
 
相关试题     事务管理 

  第49题    2021年上半年  
以下关于数据库事务的叙述中,正确的是( )。

  第55题    2014年上半年  
事务T1中有两次查询学生表中的男生人数,在这两次查询执行中间,事务T2 对学生表中加入了一条男生记录,导致T1两次查询的结果不一致,此类问题属于(54),为解决..

  第52题    2021年上半年  
以下关于数据库事务的说法中,错误的是( )。

 
知识点讲解
· 并发操作带来的问题
 
        并发操作带来的问题
        并发操作带来的数据不一致性有三类:丢失修改、不可重复读和读脏数据。对并发操作带来的三类数据不一致性举例说明如下图所示。
        
        数据不一致性举例
               丢失修改
               如上图(a)所示,事务T1、T2都是对数据A做减1操作。事务T1在时刻t5把A修改后的值15写入数据库,但事务T2在时刻t7再把它对A减1后的值15写入。两个事务都是对A的值进行减1操作并且都执行成功,但A中的值却只减了1。现实的例子如售票系统,同时售出了两张票,但数据库里的存票却只减了一张,造成数据的不一致。原因在于T1事务对数据库的修改被T2事务覆盖而丢失了,破坏了事务的隔离性。
               不可重复读
               如上图(b)所示,事务T1读取A、B的值后进行运算,事务T2在t5时刻对B的值做了修改以后,事务T1又重新读取A、B的值再运算,同一事务内对同一组数据的相同运算结果不同,显然与事实不相符。同样是事务T2干扰了事务T1的独立性。
               读脏数据
               如上图(c)所示,事务T1对数据C修改之后,在t4时刻事务T2读取修改后的C值做处理,之后事务T1回滚,数据C恢复了原来的值,事务T2对C所做的处理是无效的,它读的是被丢掉的垃圾值。
               通过以上三个例子,在事务并行处理的过程中,因为多个事务对相同数据的访问,干扰了其他事务的处理,产生了数据的不一致性,这是因事务的隔离性被破坏。
               问题的焦点在于事务在读写数据时不加控制而相互干扰。解决问题的方法是从如何保证事务的隔离性入手。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有