数据库 事务与并发控制ppt课件.ppt

数据库 事务与并发控制ppt课件.ppt

ID:58726221

大小:693.50 KB

页数:109页

时间:2020-10-04

数据库 事务与并发控制ppt课件.ppt_第1页
数据库 事务与并发控制ppt课件.ppt_第2页
数据库 事务与并发控制ppt课件.ppt_第3页
数据库 事务与并发控制ppt课件.ppt_第4页
数据库 事务与并发控制ppt课件.ppt_第5页
资源描述:

《数据库 事务与并发控制ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第12章事务与并发控制12.1事务12.2并发控制12.3并发控制中的加锁方法12.4并发控制中的时间戳方法12.5乐观的并发控制方法2021/8/17112.1事务12.1.1事务的基本概念12.1.2事务执行的问题12.1.3事务的特性12.1.4事务处理模型12.1.5事务日志2021/8/17212.1.1事务基本概念事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元,一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。例如:对于一个转帐活动:A帐户转帐给B帐户2000元钱,这个活动包含两个操作:第一个操作:A帐

2、户-2000第二个操作:B帐户+20002021/8/173说明假设第一个操作成功了,第二个操作由于某种原因没有成功,在系统恢复正常后,A账户的金额应是多少?如果B账户的金额没有变化,则正确的情况是A账户的金额也应该没有变化。怎样保证在系统恢复之后,A账户中的金额没有减少?这就要用到事务的概念。事务可以保证在一个事务中的全部操作或者全部成功,或者全部失败。2021/8/174转账操作执行图示2021/8/17512.1.2事务执行的问题对单个数据操作来说事务不是必须的。事务是一系列数据操作,这些操作将数据库从一个一致性状态转换到另一个一致性状态

3、,而且不需要保持所有中间点的一致性。事务处理系统的最简单情形是强制所有事务连续执行,不允许有并发操作。这对大型多用户DBMS来说是不可行的,因此,必须要有机制来保证多个事务同时执行时不引起冲突和不一致。2021/8/176已提交和异常终止事务全部操作均被成功完成的事务称为是已提交的,否则,就是异常终止的事务。对已提交事务所完成的修改操作,在任何情况下(包括系统故障)都必须保证其修改结果被保存到数据库中。2021/8/177事务的状态活动的:在事务开始它的操作之后。部分提交的:当事务执行完最后一个语句后。终止的:当不能再执行正常操作时。提交的:在

4、成功地完成事务后。失败的:当事务无法提交或者在处于“活动”状态时被撤销。2021/8/178事务终止原因在事务执行期间,当事务本身检测到有错使事务不能继续执行时,可以终止事务。如,信用卡透支额超过了规定额度由于系统失败或任何其他可控制范围之外的原因使事务在提交之前被终止,数据库管理系统或者终止这个事务,或者重新启动事务的执行,以消除任何由于事务的终止而造成的对数据库的影响。2021/8/179事务的状态变化2021/8/171012.1.3事务的特性原子性(Atomicity):指事务是数据库的逻辑工作单位,事务中的操作要么都做,要么都不做。一

5、致性(Consistency):指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性(Isolation):指数据库中一个事务的执行不能被其它事务干扰。持久性(Durability):指事务一旦提交,其对数据库数据的改变就是永久的。2021/8/1711说明事务是数据库并发控制和恢复的基本单位。保证事务的ACID特性是事务处理的重要任务。ACID特性可能遭到破坏的因素有:多个事务并行运行时,不同事务的操作有交叉情况;事务在运行过程中被强迫停止。2021/8/171212.1.4事务处理模型COMMIT和ROLLBACK语句

6、用于提供对事务的支持。当开始一个事务后,系统必须连续地执行全部后续的SQL语句,直到出现下列四个事件之一:到达了COMMIT语句。到达了ROLLBACK语句。成功地到达了程序的结束。程序被异常终止了。2021/8/1713到达了COMMIT语句事务所进行的所有更改都被用久地保存到数据库中。COMMIT语句自动结束一个事务并表明成功地完成了事务。2021/8/1714到达了ROLLBACK语句事务进行的所有更改都夭折了,并且数据库被回滚到之前的一个一致性状态。ROLLBACK语句表明没有成功地完成事务。2021/8/1715程序结束或异常终止到达

7、了程序结束:事务进行的所有更改都被永久地记录到数据库中。等同于COMMIT。程序被异常终止:事务进行的所有更改都被终止,数据库被回滚到之前的一个一致性状态。等同于ROLLBACK。2021/8/1716事务类型与处理模型隐式事务:隐式事务是每一条数据操作语句都自动地成为一个事务。显式事务:有显式的开始和结束标记的事务。ISO事务处理模型T-SQL事务处理模型2021/8/1717ISO事务处理模型事务的开头是隐含的,结束有明确标记:COMMIT和ROLLBACK事务起始/终止位置程序的首条SQL语句或事务结束符后的语句。程序正常结束处或COMM

8、IT语句处成功终止;在程序出错处或ROLLBACK处失败终止。2021/8/1718示例UPDATE支付表SET帐户总额=帐户总额-2000WHERE

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

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

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