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

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

ID:57929847

大小:370.00 KB

页数:12页

时间:2020-09-03

【数据库技术】章事务.ppt_第1页
【数据库技术】章事务.ppt_第2页
【数据库技术】章事务.ppt_第3页
【数据库技术】章事务.ppt_第4页
【数据库技术】章事务.ppt_第5页
资源描述:

《【数据库技术】章事务.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

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

2、滚(ROLLBACK):将中止事务对数据库所作的更新撤销掉。已提交事务:成功地执行完成的任务。10.2事务的状态事务的基本操作包括:事务开始(BEGIN_TRANSACTION)。事务开始执行。事务读写(Read/Write)。事务进行数据操作。事务结束(END_TRANSACTION)。事务完成所有的读/写操作。事务交付(COMMIT_TRANSACTION)。事务完成所有的读/写操作,并保存操作结果。活动状态失败状态部分提交状态提交状态中止状态图10.1事务状态图事务的状态:10.3事务的特性事务所必须具有的重要特性包括:(1)原子性(Ato

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

4、性与原子性是密切相关的。(3)隔离性(Isolation)。如果多个事务并发地执行,应像各个事务独立执行一样,一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的。并以控制就是为了保证事务间的隔离性。(4)持久性(Durability)。指一个事务一旦提交,它对数据库中数据的改变就应该是持久的,即使数据库因故障而受到破坏,DBMS也应该能够恢复。上述的四个特性也简称为ACID特性,保证ACID特性是事务处理的重要任务。事务的ACID特性可能遭到破坏的原因有:1)多个事务并行运行时,不同事务的操作交叉执行。2)

5、事务在运行过程中被强迫停止。下面是一个事务的例子例如一个事务,从帐号A转移资金额R到帐号B:BEGINTRANSACTIONREADAA←A-RIFA<0/*A款不足*/THENBEGINDISPLAY“A款不足”ROLLBACKENDELSE/*拨款*/BEGINB←B+RDISPLAY“拨款完成”COMMITEND以上是对一个简单事务的完整的描述。该事务有两个出口:当A帐号的款项不足时,事务以ROLLBACK(撤销)命令结束,即撤销该事务的影响;另一个出口是以COMMIT(提交)命令结束,完成从帐号A到帐号B的拨款。在COMMIT之前,即在数

6、据库修改过程中,数据可能是不一致的,事务本身也可能被撤销。只有在COMMIT之后,事务对数据库所产生的变化才对其他事务开放,这就可以避免其他事务访问不一致或不存在的数据。10.4SQLServer中的事务SQLServer的事务分为两种类型:系统提供的事务。系统提供的事务是指在执行某些语句时,一条语句就是一个事务,它的数据对象可能是一个或多个表(视图),可能是表(视图)中的一行数据或多行数据;用户定义的事务。用户定义的事务以BEGINTRANSACTION语句开始,以COMMIT或ROLLBACK结束。其中:BEGINTRANSACTION:事务

7、的开始标记。COMMITTRANSACTION:事务的结束标记。ROLLBACKTRANSACTION:回滚。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。