- 25
- 0
- 约5.44千字
- 约 24页
- 2017-09-20 发布于河南
- 举报
第八章 并发控制
在多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行,称为并发执行方式。
当多个用户并发地存取数据库时就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。
8.1 并发控制概述
当同一数据库系统中有多个事务并发运行时,如果不加以适当控制,可能产生数据的不一致性,概括起来有三种不一致性:丢失修改、不可重复读、污读。
?
一、丢失修改
① 甲售票点(甲事务)读出某航班的机票余额A=50;
② 乙售票点(乙事务)读出同一航班的机票余额A=50;
③ 甲售票点卖出10张机票,修改余额A←A-10,把A=40写回数据库;
④ 乙售票点也卖出10张机票,修改余额A←A-10,把A=40写回数据库。
结果明明卖出20张机票,数据库中机票余额只减少10。其原因是第④步中乙事务修改覆盖了甲事务的修改。如下图。
?
二、不可重复读
① 甲售票点(甲事务)读出某航班的机票余额A=50;
② 乙售票点(乙事务)读出同一航班的机票余额A=50;
③ 乙售票点卖出10张机票,修改余额A←A-10,把A=40写回数据库;
④ 甲售票点再次读出该航班的机票余额A=40,与步骤①读出的余额不一致。
结果表明甲售票点连续二次读出的同样数据前后不一致。如下图。
?
三、污读
① 甲售票点(甲
原创力文档

文档评论(0)