数据库事务管理...ppt
《数据库事务管理...ppt》由会员分享,可在线阅读,更多相关《数据库事务管理...ppt(76页珍藏版)》请在第壹文秘上搜索。
1、事务管理事务管理18:28事务管理 l问题的引入问题的引入 l 事务事务l 并发控制并发控制 l数据库恢复数据库恢复18:28问题的引入l多用户同时操作数据库多用户同时操作数据库l系统在执行用户的请求时出现故障系统在执行用户的请求时出现故障例如:帐户例如:帐户A转帐给帐户转帐给帐户B10000元。元。UPDATE YHZH SET 余额余额=余额余额-10000 WHERE 帐号帐号=AUPDATE YHZH SET 余额余额=余额余额+10000 WHERE 帐号帐号=B18:28 事务的基本概念事务的基本概念l事务(事务(Transaction)l用户定义的一个对数据库读写用户定义的一个对
2、数据库读写操作序列操作序列l一个一个不可分割不可分割的工作单位的工作单位l在关系数据库中,事务可以是一条、一组在关系数据库中,事务可以是一条、一组SQL语语句,或整个程序。句,或整个程序。l事务和程序的区别?事务和程序的区别?l程序包含多个事务程序包含多个事务18:28 事务的性质事务的性质l原子性原子性(Atomicity)l事务中的操作要么都做,要么都不做 ( (All or None)All or None)l一致性一致性(Consistency)l事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态l与原子性密切相关l隔离性隔离性(Isolation)l并发执行的各事务不能相
3、互干扰l持续性持续性/永久性永久性(Durability)l事务一旦提交,它对数据库的更新不再受后继操作或故障的影响 DBMS中事务处理必须保证其中事务处理必须保证其ACID特性,这样才能保证数据库中数特性,这样才能保证数据库中数据的安全和正确。据的安全和正确。18:28银行转帐:从帐号银行转帐:从帐号A中取出一万元,存入帐号中取出一万元,存入帐号B。l定义一个事务,该事务包括两个操作定义一个事务,该事务包括两个操作l这两个操作要么全做,要么全不做这两个操作要么全做,要么全不做l全做或者全不做,数据库都处于一致性状态。全做或者全不做,数据库都处于一致性状态。l如果只做一个操作,数据库就处于不一
4、致性状态如果只做一个操作,数据库就处于不一致性状态。 B=B+1 A=A-1BA 事务的性质事务的性质18:28T1的修改被的修改被T2覆盖了!覆盖了! 读读A=16 AA-3写回写回A=13 读读A=16 AA-1 写回写回A=15 T2T1 事务的性质事务的性质18:28 事务的基本概念事务的基本概念l事务的开始和结束可以由用户显式控制。事务的开始和结束可以由用户显式控制。lSQL定义事务的语句定义事务的语句lBegin transactionBegin transaction( (事务开始事务开始) )lCommit transaction Commit transaction ( (事
5、务提交,正常结束,将更新结事务提交,正常结束,将更新结果写入磁盘果写入磁盘) )lRollback transactionRollback transaction( (事务回滚,撤销事务中所有已完事务回滚,撤销事务中所有已完成的更新成的更新) )lSave transactionSave transaction(保存点,可以只撤消部分事务)保存点,可以只撤消部分事务)18:28 事务的基本概念事务的基本概念l显式定义方式显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句语句1 SQL 语句语句1 SQL 语句语句2 SQL 语句语句2 。 。 C
6、OMMIT ROLLBACK18:28COMMIT事务正常结束事务正常结束 提交提交事务的所有操作(事务的所有操作(读读+更新更新)事务中所有对数据库的更新事务中所有对数据库的更新永久永久生效生效ROLLBACK事务异常终止事务异常终止l事务运行的过程中发生了故障,不能继续执行,回滚事事务运行的过程中发生了故障,不能继续执行,回滚事务的所有务的所有更新更新操作操作l事务回滚到事务回滚到开始开始时的状态时的状态 事务的基本概念事务的基本概念18:28事务的基本概念事务的基本概念l隐含事务与自动提交隐含事务与自动提交 ALTER INSERT CREATE DELETE DROP SELECT U
7、PDATE TRUNCATE TABEL18:28例:删除仓库例:删除仓库“WH1”,并将职工并将职工T表当中所有在表当中所有在“WH1”仓库中职工记录删除。仓库中职工记录删除。事务案例事务案例BEGIN TRANSACTION MYDELDELETE FROM 仓库仓库TWHERE 仓库号仓库号=WH1DELETE FROM 职工职工TWHERE 仓库号仓库号=WH1IF ERROR0ROLLBACK TRANSACTION MYDELELSECOMMIT TRANSACTION MYDEL18:28l恢复机制与并发控制机制的提出恢复机制与并发控制机制的提出l事务在运行过程中因某种故障被强行
8、终事务在运行过程中因某种故障被强行终止,数据库一致性被破坏,需进行止,数据库一致性被破坏,需进行恢复。恢复。l多个事务并行运行时,不同事务的各种多个事务并行运行时,不同事务的各种操作交叉进行,为保证各事务的执行互操作交叉进行,为保证各事务的执行互不干扰,需进行不干扰,需进行并发控制。并发控制。l事务是恢复和并发控制的基本单位事务是恢复和并发控制的基本单位 事务的基本概念事务的基本概念18:28l干扰问题干扰问题 l解决干扰解决干扰封锁封锁 l封锁不当封锁不当死锁死锁 l封锁与隔离级别封锁与隔离级别 并发控制18:28干扰问题l丢失更新问题丢失更新问题l未提交依赖未提交依赖(读读“脏脏”数据数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 事务管理
