第8章 事务与并发控制

第8章 事务与并发控制

ID:45144206

大小:811.00 KB

页数:55页

时间:2019-11-10

第8章 事务与并发控制_第1页
第8章 事务与并发控制_第2页
第8章 事务与并发控制_第3页
第8章 事务与并发控制_第4页
第8章 事务与并发控制_第5页
资源描述:

《第8章 事务与并发控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库原理与实践教程——SQLServer2005第8章事务与并发控制1第8章事务与并发控制8.1事务8.2并发控制*28.1事务8.1.1事务8.1.2事务的特征8.1.3事务处理模型*38.1.1事务事务是用户定义的数据操作系列,这些操作作为一个完整的工作单元,一个事务内的所有语句被作为一个整体,要么全部执行,要么全部不执行。例如:对于一个转帐活动:A帐户转帐给B帐户n元钱,这个活动包含两个动作:第一个动作:A帐户-n第二个动作:B帐户+n*48.1.2事务的特征原子性(Atomicity):指事务是数据库的逻辑工作单位,

2、事务中的操作要么都做,要么都不做。一致性(Consistency):指事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性(Isolation):指数据库中一个事务的执行不能被其它事务干扰。持久性(Durability):指事务一旦提交,其对数据库数据的改变就是永久的。*5保证事务的ACID特性是事务处理的重要任务。事务的ACID特性可能遭到破坏的因素有:多个事务并行运行时,不同事务的操作有交叉情况;事务在运行过程中被强迫停止。*68.1.3事务处理模型隐式事务:隐式事务是每一条数据操作语句都自动地成为一个

3、事务。显式事务:有显式的开始和结束标记的事务。ISO事务处理模型T-SQL事务处理模型*7ISO事务处理模型事务的开头是隐含的,事务的结束有明确标记A.事务结束符COMMIT:事务成功结束符,ROLLBACK:事务失败结束符,B.事务提交方式自动提交:每条SQL语句为一个事务指定位置提交:在事务结束符或程序正常结束处提交C.事务起始/终止位置程序的首条SQL语句或事务结束符后的语句。在程序正常结束处或COMMIT语句处成功终止;在程序出错处或或ROLLBACK处失败终止。*8示例UPDATE支付表SET帐户总额=帐户总额-nW

4、HERE帐户名=‘A’UPDATE支付表SET帐户总额=帐户总额+nWHERE帐户名=‘B’COMMIT*9T-SQL事务处理模型每个事务都有显式的开始和结束标记。事务的开始标记是:BEGINTRANSACTION

5、TRAN事务的结束标记为:COMMIT[TRANSACTION|TRAN]ROLLBACK[TRANSACTION|TRAN]*10示例BEGINTRANSACTIONUPDATE支付表SET帐户总额=帐户总额-nWHERE帐户名=‘A’UPDATE支付表SET帐户总额=帐户总额+nWHERE帐户名=‘B’COMM

6、IT*118.2并发控制8.2.1并发控制概述8.2.2并发控制措施8.2.3封锁协议8.2.4活锁和死锁8.2.5并发调度的可串行性8.2.6两段锁协议*128.2.1并发控制概述数据库中的数据是一个共享的资源,因此会有很多用户同时使用数据库中的数据,在多用户系统中,可能同时运行着多个事务,而事务的运行需要时间,并且事务中的操作是在一定的数据上进行的。当系统中同时有多个事务在运行时,特别是当这些事务是对同一段数据进行操作时,彼此之间就有可能产生相互干扰的情况。如:订票、银行*13不同的多事务执行方式串行执行每个时刻只有一个事

7、务运行,其他事务必须等到这个事务结束以后方能运行。问题:不能充分利用系统资源,发挥数据库共享资源的特点。T1T2T3*14不同的多事务执行方式交叉并行执行在单处理机系统中,事务的并行执行是这些并行事务的并行操作轮流交叉运行。单处理机系统中的并行事务并没有真正地并行运行,但能够减少处理机的空闲时间,提高系统的效率。*15不同的多事务执行方式同时并发方式多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行。本章主要讨论单处理机环境下的并发控制技术。*16并发事务的相互干扰示例A、B

8、两个订票点恰巧同时办理同一架航班的飞机订票业务。设其操作过程及顺序如下:A订票点(事务A)读出航班目前的机票余额数,假设为10张;B订票点(事务B)读出航班目前的机票余额数,也为为10张;A订票点订出6张机票,修改机票余额为10-6=4,并将4写回到数据库中;B订票点订出5张机票,修改机票余额为10-5=5,并将5写回到数据库中;*17事务并发执行带来的问题会产生多个事务同时存取同一数据的情况。可能会存取和存储不正确的数据,破坏事务一致性和数据库的一致性。并发控制是衡量DBMS性能的重要标志之一。*18并发控制机制的任务对并发

9、操作进行正确调度保证事务的隔离性保证数据库的一致性*19并发操作带来的数据不一致性不一致情况丢失修改(LostUpdate)读“脏”数据(DirtyRead)不可重复读(Non-repeatableRead)产生“幽灵”数据*20丢失修改*21读“脏”数据*22不可重复读*2

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

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

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