并发操作的问题
考试要求: 掌握     
知识路径:  > 计算机软件与网络基础知识  > 数据库系统  > 数据库管理系统的类型、结构和性能评价  > 数据库的控制功能  > 并发控制


 
       数据库的并发操作带来的主要问题有:丢失更新问题,不一致分析问题(读过时的数据),依赖于未提交更新的问题(读脏数据)。这3个问题需要DBMS的并发控制子系统来解决。
       (1)丢失更新(丢失修改):两个事务T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,T1的修改丢失。
       (2)读过时的数据(不可重复读):事务T1读取某一数据,事务T2读取并修改了同一数据,T1为了对读取值进行校对再读此数据,得到了不同的结果。例如,T1读取B= 100,T2读取B并把B改为200,T1再读B得200,与第一次读取值不一致。
       (3)读脏数据:事务T1修改某一数据,事务T2读取同一数据,而T1由于某种原因被撤销,则T2读到的数据就为“脏”数据,即不正确的数据。例如,T1把C由100改为200,T2读到C为200,而事务T1由于被撤销,其修改宣布无效,C恢复为原值100,而T2却读到了C为200,与数据库内容不一致。
       例如,假设某3个事务T1、T2和T3并发执行的过程如下表所示。
       
       事务并发执行的过程
       在上表中,事务T1、T2分别对数据D1、D2和D3进行读写操作,在t4时刻,事务T1将D1、D2和D3相加存入X1,X1等于450。在t8时刻,事务T2将D3减去D2存入D2,D2等于200。在t13时刻,事务T1将D1、D2和D3相加存入X1,X1等于550,验算结果不对。这种情况就属于不可重复读。在t14时刻事务T3将D2加50存入D2,D2等于150。这样,就丢失了事务T2对D2的修改,这种情况就属于丢失更新。
 

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

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