《SQL Server 数据库技术》课程PPT教学课件:第10章 数据库并发控制及SQL Server的并发控制机制

意歐库发制8的详爱座制萄 10.1事务及并发控制的基本概念 10.2封锁机制 10.3 SQL Server的并发控制机制 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 10.1 事务及并发控制的基本概念 10.2 封锁机制 10.3 SQL Server的并发控制机制

意歐库发制8的详爱座制萄 在多用户和网络环境下,数据库是一个共享资源,多个 用户或应用程序同时对数据库的同一数据对象进行读写操 作,这种现象称为对数据库的并发操作。显然并发操作可 以充分利用系统资源,提高系统效率。虽然如此,但是如 果对并发操作不进行控制会造成一些错误。对并发操作进 行的控制称为并发控制。并发控制机制是衡量一个DBMS的 重要性能指标之 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 在多用户和网络环境下,数据库是一个共享资源,多个 用户或应用程序同时对数据库的同一数据对象进行读写操 作,这种现象称为对数据库的并发操作。显然并发操作可 以充分利用系统资源,提高系统效率。虽然如此,但是如 果对并发操作不进行控制会造成一些错误。对并发操作进 行的控制称为并发控制。并发控制机制是衡量一个DBMS的 重要性能指标之一

意歐库发制8的详爱座制萄 10.1事务及并发控制的基本概念 10.11事务的概念 所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要 么全不做,是一个不可分割的工作单位 事务的开始与结束可以由用户显式定义。如果用户没有显式地定义事 务,则由DBMS按默认自动划分事务。 在SQL语言中,定义事务的语句有三条: BEGINTRANSACTION: 事务通常是以 BEGINTRANSACTI0N开始, COMMIT COMMIT的作用是提交事务的所有操作,事务提交是将事务中所有 对数据的更新写回到磁盘上的物理数据库中去,事务正常结束。 ■ ROllbacK; ROLLBACK的作用是回滚,即在事务运行的过程中发生了某种故障, 事务不能继续执行,系统将事务中对数据库的所有已完成的操作全 部撤消,回滚到事务开始时的状态。 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 10.1 事务及并发控制的基本概念 10.1.1 事务的概念 所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要 么全不做,是一个不可分割的工作单位。 事务的开始与结束可以由用户显式定义。如果用户没有显式地定义事 务,则由DBMS按默认自动划分事务。 在SQL语言中,定义事务的语句有三条: ▪ BEGINTRANSACTION; 事务通常是以BEGINTRANSACTION开始, ▪ COMMIT; COMMIT的作用是提交事务的所有操作,事务提交是将事务中所有 对数据的更新写回到磁盘上的物理数据库中去,事务正常结束。 ▪ ROLLBACK ; ROLLBACK的作用是回滚,即在事务运行的过程中发生了某种故障, 事务不能继续执行,系统将事务中对数据库的所有已完成的操作全 部撤消,回滚到事务开始时的状态

意歐库发制8的详爱座制萄 10.12事务的特性 事务具有4个特性,即原子性、一致性、隔离性和持续性 令原子性( Atomicity) 事务中包括的诸操作要么都做,要么都不做。也就是说,事务是作为 个整体单位被处理,不可以被分割。 令一致性( Consistency) 事务执行的结果必须使数据库处于一个一致性状态。当数据库中只包 含成功事务提交的结果时,就说数据库处于一致性状态。 令隔离性(1 solation) 个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用 的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干 令持续性( Durability) 持续性也称永久性( Permanence)。持续性指一个事务一旦提交,它对 数据库中数据的改变就是永久性的,接下来的其他操作或故障不应该对 其执行结果有任何影响。 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 10.1.2 事务的特性 事务具有4个特性,即原子性、一致性、隔离性和持续性。 ❖ 原子性(Atomicity) 事务中包括的诸操作要么都做,要么都不做。也就是说,事务是作为 一个整体单位被处理,不可以被分割。 ❖ 一致性(Consistency) 事务执行的结果必须使数据库处于一个一致性状态。当数据库中只包 含成功事务提交的结果时,就说数据库处于一致性状态。 ❖ 隔离性(1solation) 一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用 的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干 扰。 ❖ 持续性(Durability) 持续性也称永久性(Permanence)。持续性指一个事务一旦提交,它对 数据库中数据的改变就是永久性的,接下来的其他操作或故障不应该对 其执行结果有任何影响

意歐库发制8的详爱座制萄 10.1.3并发操作可能产生的问题 并发操作不加以限制,会产生数据不一致性问题,这种问题共 有三类 令丢失更新 假设某产品库存量为50,现在购入该产品100个,执行入库操 作,库存量加10;用掉40个,执行出库操作,库存量减40。分别 用T1和T2表示入库和出库操作任务 例如,同时发生入库(T1)和出库(T2)操作,这就形成并发 操作。∏1读取库存后,T2也读取了同一个库存;T1修改库存,回 写更新后的值;T2修改库存,也回写更新后的值。此时库存为T2 回写的值,T1对库存的更新丢失。如表10.1所示T1和T2的并发操 作执行顺序,发生了“丢失更新”错误。 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 10.1.3 并发操作可能产生的问题 并发操作不加以限制,会产生数据不一致性问题,这种问题共 有三类。 ❖ 丢失更新 假设某产品库存量为50,现在购入该产品100个,执行入库操 作,库存量加100;用掉40个,执行出库操作,库存量减40。分别 用T1和T2表示入库和出库操作任务。 例如,同时发生入库(T1)和出库(T2)操作,这就形成并发 操作。T1读取库存后,T2也读取了同一个库存;T1修改库存,回 写更新后的值;T2修改库存,也回写更新后的值。此时库存为T2 回写的值,T1对库存的更新丢失。如表10.1所示T1和T2的并发操 作执行顺序,发生了“丢失更新”错误

意歐库发制8的详爱座制萄 表10.1发生丢失更新的过程 顺序 任务 操作 库存量 T1读库存量 50 T2读库存量 50 T1库存量=50+100 3456 T2库存量50-40 T1写库存量 150 T2写库存量 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 顺序 任务 操作 库存量 1 T1 读库存量 50 2 T2 读库存量 50 3 T1 库存量=50+100 4 T2 库存量=50-40 5 T1 写库存量 150 6 T2 写库存量 10 表10.1 发生丢失更新的过程

意歐库发制8的详爱座制萄 令读“脏数据” 当T1和T2并发执行时,在T1对数据库更新的结果没有提交之前,T2 使用了T1的结果,而在T2操作之后T1又回滚,这时引起的错误是T2读取 了T1的“脏数据” 表10.2发生读“脏数据”的过程 顺序 任务 操作 库存量 50 123 T1读库存 库存量=50+100 T1写库存量 150 读库存量 150 577 T2库存量150-40 T1 ROLLBACK T2写库存量 10 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 ❖ 读“脏数据” 当T1和T2并发执行时,在T1对数据库更新的结果没有提交之前,T2 使用了T1的结果,而在T2操作之后T1又回滚,这时引起的错误是T2读取 了T1的“脏数据”。 表10.2 发生读“脏数据”的过程 顺序 任务 操作 库存量 1 T1 读库存量 50 2 T1 库存量=50+100 3 T1 写库存量 150 4 T2 读库存量 150 5 T2 库存量=150-40 7 T1 ROLLBACK 7 T2 写库存量 10

意歐库发制8的详爱座制萄 令不可重复读 读取数据A后,T2执行了对A的更新,当T1再次读取数据A(希 望与第一次是相同的值)时,得到的数据与前一次不同,这时引起的错 误称为“不可重复读”。 表10.3发生“不可重复读”的过程 顺序任务 操作 库存量A入库量B T1读A=50 100 T1读B=100 求和=50+100 3456789 T2读B=100 T2执行BB米4 T2回写B=400 50 400 T1|读A=50 50 TI 读B=400 400 T1求和=450(验算不对) 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 ❖ 不可重复读 当T1读取数据A后,T2执行了对A的更新,当T1 再次读取数据A(希 望与第一次是相同的值)时,得到的数据与前一次不同,这时引起的错 误称为“不可重复读”。 表10.3 发生“不可重复读”的过程 顺序 任务 操作 库存量A 入库量B 1 T1 读A=50 50 100 2 T1 读B=100 3 T1 求和=50+100 4 T2 读B=100 50 5 T2 执行B=B*4 6 T2 回写B=400 50 400 7 T1 读A=50 50 8 T1 读B=400 400 9 T1 求和=450(验算不对)

意歐库发制8的详爱座制萄 并发操作之所以产生错误,是因为任务执行期间相互干扰造 成的。当将任务定义成事务,事务具有的特性(特别是隔离性) 得以保证时,就会避免上述错误的发生。但是,如果只允许事务 串行操作会降低系统的效率。所以,多数DBMS采用事务机制和封 锁杋制进行并发控制,既保证了数据的一致性,又保障了系统效 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 并发操作之所以产生错误,是因为任务执行期间相互干扰造 成的。当将任务定义成事务,事务具有的特性(特别是隔离性) 得以保证时,就会避免上述错误的发生。但是,如果只允许事务 串行操作会降低系统的效率。所以,多数DBMS采用事务机制和封 锁机制进行并发控制,既保证了数据的一致性,又保障了系统效 率

意歐库发制8的详爱座制萄 10.2封锁机制 10.21封锁及锁的类型 封锁机制是并发控制的主要手段。封锁具有3个环节:第一个环节是 申请加锁;第二个环节是获得锁;第三个环节是释放锁。为了达到封锁 的目的,在使用时事务应选择合适的锁,并要遵从一定的封锁协议。 基本的封锁类型有两种:排它锁( Exclusive locks,简称X锁)和共享 锁( Share locks,简称S锁) 令排它锁 排它锁也称为独占锁或写锁。一旦事务T对数据对象A加上排它锁( 锁),则只允许T读取和修改A,其他任何事务既不能读取和修改A,也不 能再对A加任何类型的锁,直到T释放A上的锁为止。 令共享锁 共享锁又称读锁。如果事务T对数据对象A加上共享锁(S锁),其他事 务对A只能再加S锁,不能加X锁,直到事务T释放A上的S锁为止。 2021/1/21
第10章数据库并发控制及SQL Server的并发控制机制 2021/1/21 10.2 封锁机制 10.2.1 封锁及锁的类型 封锁机制是并发控制的主要手段。封锁具有3个环节:第一个环节是 申请加锁;第二个环节是获得锁;第三个环节是释放锁。为了达到封锁 的目的,在使用时事务应选择合适的锁,并要遵从一定的封锁协议。 基本的封锁类型有两种:排它锁(Exclusive Locks,简称X锁)和共享 锁(Share Locks,简称S锁)。 ❖ 排它锁 排它锁也称为独占锁或写锁。一旦事务T对数据对象A加上排它锁(X 锁),则只允许T读取和修改A,其他任何事务既不能读取和修改A,也不 能再对A加任何类型的锁,直到T释放A上的锁为止。 ❖ 共享锁 共享锁又称读锁。如果事务T对数据对象A加上共享锁(S锁),其他事 务对A只能再加S锁,不能加X锁,直到事务T释放A上的S锁为止
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《SQL Server 数据库技术》课程PPT教学课件:第9章 数据库的安全性及SQL Server安全管理.ppt
- 《SQL Server 数据库技术》课程PPT教学课件:第7章 SQL Server2000 Transact-SQL 编程和应用.ppt
- 《SQL Server 数据库技术》课程PPT教学课件:第8章 数据库完整性及SQL Server的完整性控制.ppt
- 《SQL Server 数据库技术》课程PPT教学课件:第6章 SQL Server 2000 的数据查询.ppt
- 《SQL Server 数据库技术》课程PPT教学课件:第5章 SQL Server2000基本操作与应用.ppt
- 《SQL Server 数据库技术》课程PPT教学课件:第4章 SQL Server 2000基本知识.ppt
- 《SQL Server 数据库技术》课程PPT教学课件:第3章 关系数据库标准语言SQL.ppt
- 《SQL Server 数据库技术》课程PPT教学课件:第2章 关系数据库.ppt
- 《SQL Server 数据库技术》课程PPT教学课件:第1章 数据库技术基础知识.ppt
- 《计算机系统安全》课程PPT教学课件:第十三章 TLS(SSL)协议.ppt
- 《计算机系统安全》课程PPT教学课件:第十二章 IP安全.ppt
- 《计算机系统安全》课程PPT教学课件:第十一章 入侵检测系统.ppt
- 《计算机系统安全》课程PPT教学课件:第十章 常用攻击手段(3/3).ppt
- 《计算机系统安全》课程PPT教学课件:第十章 常用攻击手段(2/3).ppt
- 《计算机系统安全》课程PPT教学课件:第十章 常用攻击手段(1/3).ppt
- 《计算机系统安全》课程PPT教学课件:第九章 防火墙.ppt
- 《计算机系统安全》课程PPT教学课件:第八章 访问控制.ppt
- 《计算机系统安全》课程PPT教学课件:第七章 身份认证.ppt
- 《计算机系统安全》课程PPT教学课件:第六章 公开密钥设施PKI.ppt
- 《计算机系统安全》课程PPT教学课件:第五章 密码学的应用.ppt
- 《SQL Server 数据库技术》课程PPT教学课件:第11章 数据库恢复技术与SQL Server的数据恢复机制.ppt
- 《Linux实用教程》书籍配套资源(PPT讲稿)第3章 Linux系统管理.ppt
- 《Linux实用教程》书籍配套资源(PPT讲稿)第4章 Linux网络基础.ppt
- 《Linux实用教程》书籍配套资源(PPT讲稿)第5章 Intranet服务器.ppt
- 《Linux实用教程》书籍配套资源(PPT讲稿)第6章 Internet应用服务器的配置.ppt
- 《Linux实用教程》书籍配套资源(PPT讲稿)第7章 Web应用服务.ppt
- 《Linux实用教程》书籍配套资源(PPT讲稿)第8章 Linux网络安全.ppt
- 《Linux实用教程》书籍配套资源(PPT讲稿)第9章 Linux编程基础.ppt
- 《Linux实用教程》书籍配套资源(PPT讲稿)第1章 Linux概况及安装(刘兵、吴煜煌).ppt
- 《Linux实用教程》书籍配套资源(PPT讲稿)第2章 Linux的常用命令.ppt
- 计算机应用与维护专业(单招)教学大纲(基础课程、技术课程、选修课).doc
- 《管理信息系统》课程教学资源:PPT课件讲稿(共三章,附案例).ppt
- 中国计量大学(中国计量学院):《现场总线技术》课程教学资源(PPT课件)第一课 计算机网络(概述).ppt
- 中国计量大学(中国计量学院):《现场总线技术》课程教学资源(PPT课件)第二课 现场总线简介.ppt
- 中国计量大学(中国计量学院):《现场总线技术》课程教学资源(PPT课件)第三课 主要现场总线与现场总线控制系统.ppt
- 中国计量大学(中国计量学院):《现场总线技术》课程教学资源(PPT课件)第四课 现场总线的发展趋势.ppt
- 高职高专规划教材:《计算机网络基础》课程教学资源(PPT课件)第6章 网络操作系统与网络结构.ppt
- 高职高专规划教材:《计算机网络基础》课程教学资源(PPT课件)第5章 结构化布线系统.ppt
- 高职高专规划教材:《计算机网络基础》课程教学资源(PPT课件)第3章 计算机网络体系结构.ppt
- 高职高专规划教材:《计算机网络基础》课程教学资源(PPT课件)第7章 网络的计算模式.ppt