数据库系统原理 课件 第8章 数据并发.pptx

数据库系统原理 课件 第8章 数据并发.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第8章数据并发事务管理:事务的概念/事务的特性并发控制封锁:封锁/封锁粒度封锁协议一级/二级/三级封锁协议/两段锁协议并发事务的可串行化并发事务调度/并发事务的可串行化活锁和死锁活锁/死锁1

8.1事务管理事务管理是并发控制和数据恢复的主要理论依据。事务是并发控制和数据恢复的主要研究和控制对象。事务的概念事务的特性2

8.1.1事务的概念3事务:用户定义的一个数据库操作序列。事务作为一个不可拆分的工作单位,要么全做要么不做。不难看出,事务由一个或多个数据库操作语句组成。数据库操作是指数据更新语句(INSERT、UPDATE和DELETE等)。事务是一个不可拆分的整体。事务中的语句不能只做一部分。事务可以是一个程序,而一个程序可以划分为多个事务。思考:事务和程序的区别和联系。事务管理可以使用“用户显示控制”和“系统隐式控制(默认)”等。

8.1.1事务的概念4用户显示控制:用户自行定义事务的方式。即:BEGINTRAN[SACTION][事务名]BEGINTRAN[SACTION][事务名]语句1语句1…………语句n语句nCOMMIT[TRANSACTION事务名]ROLLBACK[TRANSACTION事务名]说明:事务必须以BEGINTRANSACTION开头,以COMMIT或ROLLBACK结束。COMMIT表示事务正常结束,提交事务的所有操作,并永久生效;ROLLBACK表示终止事务(事务运行发生故障,不能继续执行),并撤销已做的所有更新操作,使事务回滚到开始状态。系统隐式控制:由DBMS按照默认规则自动划分事务的方式。如果用户没有显式定义事务,则DBMS使用默认的系统隐式控制。

8.1.1事务的概念5例8.1在EBook中,定义一个事务,把图书的售价降低10%。USEEBookBEGINTRANSACTIONUPDATEBookSETSPrice=SPrice*0.9COMMIT

8.1.1事务的概念6例8.2在EBook中,定义事务T1和T2,完成修改王珊和雍俊海的图书的售价分别为22和32。如果售价大于30,则回滚,否则提交。USEEBookDECLARE@TmPriceINTBEGINTRANSACTIONT1UPDATEBookSETSPrice=22WHEREAuthor=王珊SELECT@TmPrice=SPriceFROMBookWHEREAuthor=王珊IF@TmPrice30ROLLBACKTRANSACTIONT1ELSECOMMITTRANSACTIONT1BEGINTRANSACTIONT2UPDATEBookSETSPrice=32WHEREAuthor=雍俊海SELECT@TmPrice=SPriceFROMBookWHEREAuthor=雍俊海IF@TmPrice30ROLLBACKTRANSACTIONT2ELSECOMMITTRANSACTIONT2

8.1.1事务的概念7思考:定义事务TranAb,实现从帐户A转账金额6000元给帐户B。BEGINTRANSTranAb--读账户A的余额Balan1Balan1=Balan1-6000IF(Balan10)BEGINPRINT金额不足,不能转账!ROLLBACKTranAbENDELSEBEGIN--读账户B的余额Balan2Balan2=Balan2+6000COMMITTranAbEND

8.1.2事务的特性8事务特性:原子性、一致性、隔离性和持续(永久)性等。即:事务的ACID特性。1.原子性(Atomicity)事务作为一个整体,要么做完,要么不做。2.一致性(Consistency)事务的执行结果使数据始终保持一致。即:事

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档