【数据库技术】章事务.ppt

上传人:scccc 文档编号:11886509 上传时间:2021-10-13 格式:PPT 页数:12 大小:370KB
返回 下载 相关 举报
【数据库技术】章事务.ppt_第1页
第1页 / 共12页
【数据库技术】章事务.ppt_第2页
第2页 / 共12页
【数据库技术】章事务.ppt_第3页
第3页 / 共12页
【数据库技术】章事务.ppt_第4页
第4页 / 共12页
【数据库技术】章事务.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《【数据库技术】章事务.ppt》由会员分享,可在线阅读,更多相关《【数据库技术】章事务.ppt(12页珍藏版)》请在三一文库上搜索。

1、第10章 数据库的事务处理,10.1 事务(Transaction)的概念 10.2 事务的状态 10.3 事务的特性 10.4 SQL Server中的事务,10.1 事务(Transaction)的概念,事务是用户定义的数据库操作序列,这些操作可作为一个完整的工作单元。一个事务内的所有语句是一个整体,要么全部执行,要么全部不执行。即事务是不可再分的原子性工作。 如在银行业务中,“从帐户A转移资金X到帐户B”就是一个典型的事务。这个事务可以分解为两个动作: (1)从账户A减去金额X。 (2)在账户B中加上金额X。,基本术语 中止事务:执行中发生故障、不能停止执行完成的事务; 事务回滚(ROL

2、LBACK ):将中止事务对数据库所作的更新撤销掉。 已提交事务:成功地执行完成的任务。,10.2 事务的状态,事务的基本操作包括: 事务开始(BEGIN_TRANSACTION)。事务开始执行。 事务读写(Read/Write)。事务进行数据操作。 事务结束(END_TRANSACTION)。事务完成所有的读/写操作。 事务交付(COMMIT_TRANSACTION)。事务完成所有的读/写操作,并保存操作结果。,图10.1 事务状态图,事务的状态:,10.3 事务的特性,事务所必须具有的重要特性包括: (1)原子性(Atomicity)。一个事务是一个不可分割的工作单位,事务在执行时,应该遵

3、守“要么不做,要么全做” 的原则,即不允许事务部分的完成。 即使因为故障而使事务未能完成,它执行的部分结果要被取消。,(2)一致性(Consistency)。所谓数据库的一致状态是指数据库中的数据满足完整性约束。 例如,银行企业中,“从帐号A转移资金额R到帐号B”是一个典型的事务,这个事务包括两个操作,从帐号A中减去资金额R和在帐号B中增加资金额R,如果只执行其中一个操作,则数据库处于不一致状态,帐务会出现问题。也就是说,两个操作要么全做,要么全不做,否则就不能成为事务。 可见事务的一致性与原子性是密切相关的。,(3)隔离性(Isolation)。如果多个事务并发地执行,应像各个事务独立执行一

4、样,一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的。 并以控制就是为了保证事务间的隔离性。 (4)持久性(Durability)。指一个事务一旦提交,它对数据库中数据的改变就应该是持久的,即使数据库因故障而受到破坏,DBMS也应该能够恢复。,上述的四个特性也简称为ACID特性,保证ACID特性是事务处理的重要任务。事务的ACID特性可能遭到破坏的原因有: 1)多个事务并行运行时,不同事务的操作交叉执行。 2)事务在运行过程中被强迫停止。 下面是一个事务的例子,例如 一个事务,从帐号A转移资金额R到帐号B: BEGIN TRANSACTION READ

5、 A AA-R IF A0/* A 款不足*/ THEN BEGIN DISPLAY “A款不足” ROLLBACK END ELSE /* 拨款 */ BEGIN BB+R DISPLAY “拨款完成” COMMIT END,以上是对一个简单事务的完整的描述。 该事务有两个出口: 当A 帐号的款项不足时,事务以ROLLBACK(撤销)命令结束,即撤销该事务的影响; 另一个出口是以COMMIT(提交)命令结束,完成从帐号A到帐号B的拨款。 在COMMIT之前,即在数据库修改过程中,数据可能是不一致的,事务本身也可能被撤销。 只有在COMMIT之后,事务对数据库所产生的变化才对其他事务开放,这就可以避免其他事务访问不一致或不存在的数据。,10.4 SQL Server中的事务,SQL Server的事务分为两种类型: 系统提供的事务。系统提供的事务是指在执行某些语句时,一条语句就是一个事务,它的数据对象可能是一个或多个表(视图),可能是表(视图)中的一行数据或多行数据; 用户定义的事务。用户定义的事务以BEGIN TRANSACTION语句开始,以COMMIT或ROLLBACK结束。其中: BEGIN TRANSACTION:事务的开始标记。 COMMIT TRANSACTION:事务的结束标记。 ROLLBACK TRANSACTION:回滚。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1