CH6.数据库事务管理.ppt

CH6.数据库事务管理.ppt

ID:56527401

大小:318.00 KB

页数:127页

时间:2020-06-27

CH6.数据库事务管理.ppt_第1页
CH6.数据库事务管理.ppt_第2页
CH6.数据库事务管理.ppt_第3页
CH6.数据库事务管理.ppt_第4页
CH6.数据库事务管理.ppt_第5页
资源描述:

《CH6.数据库事务管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章事务管理6.1事务6.2并发控制6.3恢复系统6.4长事务与实时事务6.1事务事务概念ACID特性实现概述事务调度事务概念事务定义事务是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位例如银行转帐SQL中事务的定义事务以Begintransaction开始,以Commitwork或Rollbackwork结束Commitwork表示提交,事务正常结束Rollbackwork表示事务非正常结束,撤消事务已做的操作,回滚到事务开始时状态事务概念示例银行转帐:事务T从A帐户过户50

2、¥到B帐户T:read(A);A:=A–50;write(A);read(B);B:=B+50;write(B);read(X):从数据库传送数据项X到事务的工作区中write(X):从事务的工作区中将数据项X写回数据库事务概念事务特性(ACID)原子性(Atomicity)事务中包含的所有操作要么全做,要么全不做原子性由恢复机制实现一致性(Consistency)事务的隔离执行必须保证数据库的一致性事务开始前,数据库处于一致性的状态;事务结束后,数据库必须仍处于一致性状态数据库的一致性状态由用户来负责,由并发控制机制实现

3、如银行转帐,转帐前后两个帐户金额之和应保持不变(意大利香肠)事务概念隔离性(Isolation)系统必须保证事务不受其它并发执行事务的影响对任何一对事务T1,T2,在T1看来,T2要么在T1开始之前已经结束,要么在T1完成之后再开始执行隔离性通过并发控制机制实现持久性(Durability)一个事务一旦提交之后,它对数据库的影响必须是永久的系统发生故障不能改变事务的持久性持久性通过恢复机制实现事务状态活动状态失败状态部分提交状态提交状态中止状态初始状态事务无法继续正常执行事务回滚,数据库恢复到事务开始前状态最后一条语句被执

4、行后成功完成,永久写入数据库事务调度事务调度概念可串行化可串行化的判定可恢复性事务调度事务调度的概念调度是指令在系统中执行的时间顺序。一组事务的一个调度必须包含这一组事务的全部指令,并且必须保持指令在各个事务中出现的顺序。操作系统可能产生许多不同的调度,有些可能使数据库处于不一致状态,DBMS必须保证事务调度执行后数据库总处于一致状态。事务调度并行Vs串行基本比较并行事务会破坏数据库的一致性串行事务效率低并行的优点一个事务由不同的步骤组成,所涉及的系统资源也不同。这些步骤可以并发执行,以提高系统的吞吐量系统中存在着周期不等

5、的各种事务,串行会导致难于预测的时延。如果各个事务所涉及的是数据库的不同部分,采用并发会减少平均响应时间核心问题在保证一致性的前提下最大限度地提高并发度事务调度事务执行示例T1read(A);A:=A50;write(A);read(B);B:=B+50;write(B);T2read(A);temp:=A0.1A:=Atemp;write(A);read(B);B:=B+temp;write(B);从A过户50¥到B从A过户存款的10%到B开始状态:A=1000¥B=2000¥A+B=3000¥事务调度read(A

6、);A:=A50;write(A);read(B);B:=B+50;write(B);read(A);temp:=A0.1A:=Atemp;write(A);read(B);B:=B+temp;write(B);T1T2A=950¥B=2050¥结束状态:A=855¥B=2145¥A+B=3000¥串行调度1事务调度read(A);A:=A50;write(A);read(B);B:=B+50;write(B);read(A);temp:=A0.1A:=Atemp;write(A);read(B);B:=B+t

7、emp;write(B);T1T2A=900¥B=2100¥结束状态:A=850¥B=2150¥A+B=3000¥串行调度2事务调度read(A);A:=A50;write(A);read(B);B:=B+temp;write(B);T1T2A=950¥B=2000¥结束状态:A=855¥B=2145¥A+B=3000¥read(B);B:=B+50;write(B);read(A);temp:=A0.1A:=Atemp;write(A);A=855¥B=2000¥A=855¥B=2050¥并发调度3事务调度read

8、(A);A:=A50;B:=B+temp;write(B);T1T2A=1000¥B=2000¥结束状态:A=950¥B=2100¥A+B=3050¥write(A);read(B);B:=B+50;write(B);read(A);temp:=A0.1A:=Atemp;write(A);read

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

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

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