网站大量收购闲置独家精品文档,联系QQ:2885784924

数据库及其应用课件:事务管理.pptx

数据库及其应用课件:事务管理.pptx

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

1事务与事务管理事务、事务性质和事务处理模型并发操作可串行化调度事务的隔离级别加锁协议死锁及其处理MySQL的锁机制

2第一节事务、事务性质

和事务处理模型事务事务性质事务处理模型

3一、事务事务(Transaction)是DBMS的执行单位,它由有限的数据库操作序列组成。这些操作“要么全做,要么不做”。假设在银行的账户表中,有A和B两个帐户如下:账号姓名余额A黎明1000.00B王红400.00帐户

假设要将账户A上100元转到账户B上,应该执行两个更新操作。UPDATE账户SET余额=余额-100WHERE账号=A;UPDATE账户SET余额=余额+100WHERE账号=B’;显然,这两个更新操作必须全部执行或者全部不执行。否则,资金从账户A支出而未转入账户B,将导致数据完整性错误。4

5二、事务性质事务持久性原子性一致性隔离性事务必须满足上述的四个性质。这四个性质的英文术语的第一个字母恰好构成ACID一字。因此,这四个性质又称为事务的ACID准则。

61、执行的原子性(Atomicity)事务在执行时,应遵守“要么不做,要么全做”(nothingorall)的原则,即不允许事务部分地完成。SQL语言提供了2个事务处理语句:COMMIT语句:提交事务对数据库的所有修改,事务成功地结束。ROLLBACK语句:撤消该事务对数据库的所有修改,不执行事务的任何操作,退回到原点。

7例6.1银行转帐事务以COMMIT结束。UPDATE账户SET余额=余额-100WHERE账号=’A’UPDATE账户SET余额=余额+100WHERE账号=’B’COMMITSELECT*FROM账户运行结果:A黎明900B王红500事务提交语句COMMIT

8事务回滚语句ROLLBACK例6.2银行转帐事务以ROLLBACK结束。UPDATE账户SET余额=余额-100WHERE账号=’A’UPDATE账户SET余额=余额+100WHERE账号=’B’ROLLBACKSELECT*FROM账户运行结果:A黎明1000B王红400

92、保持数据库的一致性(Consistency)fρ事务对数据库的作用应使数据库从一个一致状态转变到另一个一致状态。事务T初始时,数据库处于一致状态。在事务T的执行过程中,数据库可能暂时处于不一致状态。但在事务结束时,数据库将处于一个新的一致状态。

10fρρρ例6.3银行转帐事务执行过程中,数据库的状态。SELECT*FROM帐户/*①初始一致状态*/UPDATE帐户SET余额=余额-100WHERE帐号=’A’SELECT*FROM帐户/*②暂时不一致状态*/UPDATE帐户SET余额=余额+100WHERE帐号=’B’COMMITSELECT*FROM帐户/*③事务结束状态*/

11事务执行过程中状态分析A黎明1000B王红400?②中间状态(暂时不一致状态)A黎明900B王红400A黎明900B王红500①初始状态(一致状态)③结束状态(一致状态)

12fρ3、彼此的隔离性(Isolation)如果多个事务并发地执行,应像各个事务独立执行一样,互不干扰。并发控制就是为了保证事务间的隔离性。4、作用的持久性(Durability)一个事务成功地执行后,对数据库的影响应是永久的,即使数据库因故障被破坏,DBMS也应该能够恢复。

13三、事务处理模型1.ANSI/ISOSQL事务模型在ANSI/ISO规定的SQL事务模型中,用户或程序始终是处于事务处理状态。第一个SQL语句是一个事务开始,直要遇到以下列四种情况之一时,该事务将结束。执行COMMIT语句,新的事务开始。执行ROLLBACK语句,新的事务开始。程序正常结束,没有新的事务开始。程序异常终止事务也异常地结束,不开始新事务。

142.SQLServer的事务模型

文档评论(0)

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

中医资格证持证人

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

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档