数据库第七章节.ppt

7.1 事务管理概况 事务典型事例: 例1,转帐事务 设某公司在银行中有A,B两个帐号,现在公司想从帐号A中取出1万元,存入帐号B。 显然,在A中取出1万元的操作和在B中增加1万元的操作要么都成功完成,要么都不做。因此,需要把这二个操作定义在一个事务中。 例2,飞机订票系统 (1) 甲售票点读出某航班的机票余额=16; (2) 乙售票点读出同一航班的机票余额也为16; (3) 甲售票点卖出一张机票,修改余额为15,并把A写回数据库; (4) 乙售票点也卖出一张机票,也修改余额为15,并把A写回数据库。 结果卖出了两张机票,数据库中机票余额只减少1张。原因是甲乙售票过程是交叉进行的。因此,要把甲乙售票点的操作放在两个事务中,一个执行完了才能执行另一个。 DBMS中的事务控制: (1) 隐式的事务控制:默认情况下,DBMS一般将一个数据库操作(如一条SQL语句)当作一个事务来控制执行。 说明:事实上,有时一条SQL语句的工作也有事务特点,例如一条删除多行数据的SQL语句。 (2) 显式的事务控制:对涉及多步操作的(一般含多条SQL语句) 、有事务特点的工作,则需要人为地、显式地将这些操作“界定”组合成一个事务交DBMS控制执行。 二. 事务的ACID准则 DBMS为保证在并发访问和故障情况下对数据的维护,要求事务有如下四个重要

文档评论(0)

1亿VIP精品文档

相关文档