- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统概论第十一章并发控制ppt
第十一章 并发控制 要点和难点 事务及事务的特性 数据的不一致性 封锁及封锁协议 并发调度的可串行性 SQL Server 2000中的并发控制 第十一章 并发控制 11.1 事务的基本概念 一、事务(Transaction)(教科书P.278 10.1) 1、什么是事务:事务是用户定义的一个数据库操作序 列,这些操作要么全做要么全不做,是一个不可 分割的工作单位。 2、事务与程序是两个不同的概念。一般地讲,一个程 序中包含多个事务。 3、事务可以用户显式定义,也可由DBMS自动划分 BEGIN TRANSACTION 事务开始 从A公司帐上 – 10000 在B公司帐上 + 10000 IF @@error=0 事务结束 COMMIT ELSE ROLLBACK 事务结束 第十一章 并发控制 11.1 事务的基本概念 4、在 SQL Server 2000 中,可以按显式、自动提交或隐性模式启动事务。 显式事务:通过发出 BEGIN TRANSACTION 语句显式启动事务。 自动提交事务:这是 SQL Server 的默认模式。每个单独的 Transact-SQL 语句都在其完成后提交。不必指定任何语句控制事务。 隐性事务: SET IMPLICIT_TRANSACTIONS { ON | OFF } 该设置的默认值为OFF。当设置为 ON 时,将连接设置为隐性事务模式;当设置为 OFF 时,则使连接返回到自动提交事务模式,在自动提交模式下,如果各个语句成功完成则提交。 第十一章 并发控制 11.1 事务的基本概念 当连接是隐性事务模式且当前不在事务中时,执行下列语句将启动事务,当该事务完成时,再下一个 下列语句又将启动一个新事务: ALTER TABLE FETCH REVOKE CREATE GRANT SELECT DELETE INSERT TRUNCATE TABLE DROP OPEN UPDATE 如果连接已经在打开的事务中,则上述语句不启动新事务。 对于因为该设置为 ON 而自动打开的事务,用户必须在该事务结束时将其显式提交或回滚。否则当用户断开连接时,事务及其所包含的所有数据更改将回滚。在事务提交后,执行上述任一语句即可启动新事务。 第十一章 并发控制 11.1 事务的基本概念 二、事务的特性 1、原子性(Atomicity):事务中的操作要么全做要么全不做 2、一致性(Consistency):全做或全不做,数据库都处 于一致性状态,如果只做一个操作,数据库就处 于不 一致状态,可见一致性与原子性密切相关 3、隔离性(Isolation):一个事务的执行不受其它事务 的干扰 4、持续性(Durability):提交事务对数据库的改变是永 久性的 三、影响事务ACID特性的原因 1、并发事务的操作交叉执行---并发控制 2、事务在运行过程中被强行停止---恢复技术 第十一章 并发控制 11.2 并发控制概述 一、并发事务 1、事务为什么要并发执行? 充分利用系统资源,发挥数据库共享资源的特点 2、并发执行的方式 1)单处理机系统:交叉并发方式 2)多处理机系统:同时并发方式 本章 并发控制 以单处理机系统为基础来讨论 3、并发事务为什么要控制? 并发操作破坏了事务的隔离性和一致性 4、并发控制就是要用正确的方式调度并发操作,使一个用户事务的执行不受其他事务的干扰,从而避免造成数据的不一致性 售出两张票只减去一张 第十一章 并发控制 11.2 并发控制概述 2、读脏数据 第十一章 并发控制 11.3 封锁 一、封锁 1、封锁:某事务T在对某个数据对象(表、记录)操作 之前,先请求对数据对象加锁 2、封锁是实现并发控制的一个非常重要的技术 3、锁的类型: 排它锁(写锁、 X锁) 共享锁(读锁、 S 锁) 4、相容矩阵 T1 T2 X S - X
文档评论(0)