数据库原理与应用第9章幻灯片.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 事务及并发控制;9.1事务 9.2数据库的并发控制 9.3 SQL Server数据库的并发控制 ;掌握事务的概念及其ACID性质; 理解数据库并发控制的必要性; 掌握DBMS并发控制的基本原理与技术; 掌握封锁技术带来的问题及解决方法; 了解SQL Server数据库的并发控制机制;9.1事务;9.1.1事务的定义;一、事务(Transaction);批与事务的区别;在T-SQL语言中,定义事务语句有4条: BEGIN TRANSACTION(标明事务的开始) COMMIT(标明事务的成功提交) ROLLBACK (标明事务的回滚) SAVE TRANSACTION(建立保存点) 建立一个保存点,使用户能将事务回滚到该保存点的状态,而不是简单回滚整个事务。 ;事务举例; 例 使用ROLLBACK TRANSACTION语句标识事务结束;BEGIN TRANSACTION my__delete DELETE FROM department WHERE department_id=D005 SAVE TRANSACTION after_delete UPDATE employee SET department_id=D001 WHERE department_id=D005 ;IF ( @@error!=0 OR @@rowcount=0 ) BEGIN ROLLBACK TRANSACTION after_delete COMMIT TRANSACTION my__delete END ELSE COMMIT TRANSACTION my__delete GO ;9.1.1事务的定义;在完成事务时,有两种可能结果:数据库进入新的一致状态;部分数据库更新回滚使数据库还原到旧的一致状态。 同一程序的事务不能嵌套。COMMIT和ROLLBACK只在事务进行时执行。 如果未在事务的开始和结尾标注特殊语句,数据库管理系统将把整个程序的开始和结尾看作程序中事务的起点和终点。 ;提 问;事 务;事务模式;(2) 显式事务模式:该模式允许用户定义事务的启动和结束。事务以BEGIN TRANSACTION语句显式开始,以COMMIT或ROLLBACK语句显式结束。 (3) 隐性事务模式:在当前事务完成提交或回滚后,新事务自动启动。隐性事务不需要使用BEGIN TRANSACTION语句标识事务的开始,但需要以COMMIT或ROLLBACK语句来提交或回滚事务。 ;事务的ACID特性: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability );9.1.3事务的状态;9.1事务 9.2数据库的并发控制 9.3 SQL Server数据库的并发控制 ;问题的产生;问题的产生(续);问题的产生(续);问题的产生(续);问题的产生(续);问题的产生(续);T1的修改被T2覆盖了!;并发控制概述(续);9.2.1并发操作引发的问题 9.2.2封锁技术 9.2.3封锁协议 9.2.4封锁带来的问题 9.2.5并发调度的可串行性 ;9.2.1并发操作引发的问题;1. 丢失修改;丢失修改(续);2. 不可重复读;不可重复读(续);不可重复读(续);不可重复读(续);3. 读“脏”数据;读“脏”数据(续);9.2.1 并发操作引发的问题;9.2.1 并发操作引发的问题;9.2数据库的并发控制;9.2.2 封锁技术;9.2.2 封锁技术;什么是封锁;基本封锁类型;排它锁;共享锁;锁的相容矩阵;使用封锁机制解决丢失修改问题;使用封锁机制解决不可重复读问题;使用封锁机制解决读“脏”数据问题;锁的相容矩阵(续);4.封锁粒度;多粒度封锁 (multiple granularity locking) 在一个系统中同时支持多种封锁粒度供不同的事务选择 ;显式封锁和隐式封锁;显式封锁和隐式封锁(续);显式封锁和隐式封锁(续);意向锁;常用意向锁;意向锁(续);意向锁(续);意向锁(续);意向锁(续);意向锁(续);意向锁(续);意向锁(续);选择封锁粒度的原则;选择封锁粒度的原则(续);9.2数据库的并发控制;9.2.4封锁带来的问题;1 活锁;活锁(续);活锁(续);2 死锁;死锁(续);解决死锁的方法;1. 死锁的预防;(1)一次封锁法;(2)顺序封锁法;死锁的预防(续);2. 死锁的诊断与解除;(1) 超时法;(2)等待图法;等待图法(续);等待图法(续);死锁的诊断与解除(续);复 习;9.2数据库的并发控制;9.2.5 并发调度的可串行性;可串行化调度;可串行化调度(续);串行化调度,正确的调度;串行

文档评论(0)

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

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

1亿VIP精品文档

相关文档