《数据库系统原理》课程PPT教学课件(SQLServer)第12章 并发控制

第12章并发控制 本章导读: 为了避免多用户并行存取数据库时,破坏事物的完整性和数据的一致性 sα L Server提供了并发控制机制。并发控制机制主要通过事务隔离级别 封锁机制来调度并发事务的执行,使一个事务的执行不受其它事务的干 知识要点: SQL Server登录 事务处理 并发访问 锁 事物隔离级别 121事务处理 122并发访问 12.3锁 124事务隔离级别
第12章 并发控制 ⚫ 本章导读: ⚫ 为了避免多用户并行存取数据库时,破坏事物的完整性和数据的一致性, SQL Server 提供了并发控制机制。并发控制机制主要通过事务隔离级别 和封锁机制来调度并发事务的执行,使一个事务的执行不受其它事务的干 扰。 ⚫ 知识要点: SQL Server登录 事务处理 并发访问 锁 ⚫ 事物隔离级别 ⚫ 12.1 事务处理 ⚫ 12.2 并发访问 ⚫ 12.3 锁 ⚫ 12.4 事务隔离级别

121事务处理 SQL Server提供了一种事务处理的机制,用于 确保数据的一致性和完整性。在事务处理过程 中,所有操作序列都作为一个独立的逻辑单元 被执行。只有所有操作序列都正确地执行完毕 事物处理才算成功提交,否则就回滚(撤销) 到事物处理前的数据状态。 1211事务概述 12.12事物模式
12.1 事务处理 SQL Server提供了一种事务处理的机制,用于 确保数据的一致性和完整性。在事务处理过程 中,所有操作序列都作为一个独立的逻辑单元 被执行。只有所有操作序列都正确地执行完毕, 事物处理才算成功提交,否则就回滚(撤销) 到事物处理前的数据状态。 12.1.1 事务概述 12.1.2 事物模式

121.1事务概述 事务( Transaction)是一组不可分割的、可执行的动作序列,是数据处理的逻辑单元,其包含的 动作序列具有一定的偏序,即部分关键动作序列的顺序很重要,会影响事物运行结果。事物 是恢复和并发的基本单位 1.事物特性 事务可以是一条或一组SQL语句,也可以是整个应用程序,而一个应用程序也可能包含多个事务 事务有4个特性:原子性( Atomicity)、一致性( Consistency)、隔离性( Isolation)和持 续性( Durability),它们统称为事务的AC|D特性。 (1)原子性:是指事务中操作序列逻辑上作为一个工作单元整体考虑,要么全都执行,要么全 都不执行 (2)一致性:事务在完成时,所有数据必须从一个一致性状态变到另一个一致性状态。在相关 数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所 有的内部数据结构都必须是正确的。 (3)隔离性:是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据 对并发执行的其他事务是隔离的。一个事务能查看到另一个事物的数据状态,要么是修改它 之前的状态,要么是修改它之后的状态,不会是中间状态的数据。 (4)持续性:也称永久性( Permanence),事务完成之后,它对于系统的影响是永久性的,无 论发生何种操作,即使出现系统故障也将一直保持磁盘上
12.1.1 事务概述 事务(Transaction)是一组不可分割的、可执行的动作序列,是数据处理的逻辑单元,其包含的 动作序列具有一定的偏序,即部分关键动作序列的顺序很重要,会影响事物运行结果。事物 是恢复和并发的基本单位。 1.事物特性 事务可以是一条或一组SQL语句,也可以是整个应用程序,而一个应用程序也可能包含多个事务。 事务有4个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持 续性(Durability),它们统称为事务的ACID特性。 (1)原子性:是指事务中操作序列逻辑上作为一个工作单元整体考虑,要么全都执行,要么全 都不执行。 (2)一致性:事务在完成时,所有数据必须从一个一致性状态变到另一个一致性状态。在相关 数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所 有的内部数据结构都必须是正确的。 (3)隔离性:是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据 对并发执行的其他事务是隔离的。一个事务能查看到另一个事物的数据状态,要么是修改它 之前的状态,要么是修改它之后的状态,不会是中间状态的数据。 (4)持续性:也称永久性(Permanence),事务完成之后,它对于系统的影响是永久性的,无 论发生何种操作,即使出现系统故障也将一直保持磁盘上

121.1事务概述 2.事物和批的区别 个事务中也可以拥有多个批,一个批里可以有多个 SQL语句组成的事务,事务内批的多少不影响事务的 提交或回滚操作。编写应用程序时,一定要区分事务 和批的差别: (1)批是一组整体编译的SQL语句,事务是一组作为逻 辑工作单元执行的SQL语句。 (2)批语句的组合发生在编译时刻,事务中语句的组合 发生在执行时刻。 (3)编译时,批中某条语句存在语法错误,系统将终止 批中所有语句;运行时,事务中某个数据修改违反约 束、规则等,系统默认只回退到产生该错误的语句
12.1.1 事务概述 2.事物和批的区别 一个事务中也可以拥有多个批,一个批里可以有多个 SQL语句组成的事务,事务内批的多少不影响事务的 提交或回滚操作。编写应用程序时,一定要区分事务 和批的差别: (1)批是一组整体编译的SQL语句,事务是一组作为逻 辑工作单元执行的SQL语句。 (2)批语句的组合发生在编译时刻,事务中语句的组合 发生在执行时刻。 (3)编译时,批中某条语句存在语法错误,系统将终止 批中所有语句;运行时,事务中某个数据修改违反约 束、规则等,系统默认只回退到产生该错误的语句

1212事物模式 SQL Server中的事务模式包括3种工作方式:自动提交事务、显式 事务和隐式事务 1.自动提交事务 自动提交事务是由TSQL语句的特点自动划分的事务。它是SQL Server的默认模式,每条单独的T-SQL语句都是一个事务,自动 提交或回滚,无须指定任何控制语句控制事务。 2.显式事务 显式事务是由用户显式定义的事务。在显式事各模式下,每个事物 均以 begin transaction语句定义事务开始,角 commit或 rollback 语句定义事务结束。主要事物控制语句如下 (1) begin transaction[事务名]:启动事务 (2) commit transaction[事务名]:提交事务,提交的数据变成数 据库的永久部分; (3) rollback transaction 「事务名:回滚事务,撤销全部操作,回 滚到事务开始时状态; (4) save transaction 事务名>:可选语句,在事务内设置保存点, 可以使事物回滚到保存点,而不是回滚到事务的起点
12.1.2 事物模式 SQL Server中的事务模式包括3种工作方式:自动提交事务、显式 事务和隐式事务。 1.自动提交事务 自动提交事务是由T-SQL语句的特点自动划分的事务。它是SQL Server 的默认模式,每条单独的T-SQL语句都是一个事务,自动 提交或回滚,无须指定任何控制语句控制事务。 2.显式事务 显式事务是由用户显式定义的事务。在显式事务模式下,每个事物 均以begin transaction 语句定义事务开始,用commit或 rollback 语句定义事务结束。主要事物控制语句如下: (1)begin transaction [事务名]:启动事务; (2)commit transaction [事务名]:提交事务,提交的数据变成数 据库的永久部分; (3)rollback transaction [事务名]:回滚事务,撤销全部操作,回 滚到事务开始时状态; (4)save transaction :可选语句,在事务内设置保存点, 可以使事物回滚到保存点,而不是回滚到事务的起点

1212事物模式 【例12-1】定义一个事务,向学生表中插入一条只包含学号、姓名和性别的记录。 use xg select次数=0,*from学生 检查当前表的内容 begin transaction insert into学生(学号,姓名,性别 )values(11010101,司武长男) save transaction label insert into学生(学号姓名,性别)yaue(11010101那佳佳女) select次数=1,*from学生 显示插入两条记录 rollback transaction label 回滚到事物保存点 select次数=2,*from学生 显示第1次插入的记录被撤销了 g rollback transaction select次数=3*fom学生 显示第2次插入的记录被撤销了
12.1.2 事物模式 【例12-1】定义一个事务,向学生表中插入一条只包含学号、姓名和性别的记录。 use jxgl go select 次数=0,* from 学生 --检查当前表的内容 go begin transaction insert into 学生(学号,姓名,性别)values('11010101','司武长','男') go save transaction label insert into 学生(学号,姓名,性别)values('11010101','那佳佳','女') select 次数=1,* from 学生 --显示插入两条记录 rollback transaction label --回滚到事物保存点 select 次数=2,* from 学生 --显示第1次插入的记录被撤销了 go rollback transaction select 次数=3,* from 学生 --显示第2次插入的记录被撤销了

1212事物模式 3.隐式事务 隐式事务是用 set implicit transactions on不明显地定义 事务开始,用 commit或ro‖back语句明显地定义事务 结束的事务。在隐式事务模式下,在当前事务提交或 回滚后, SQL Server自动开始下一个事务。主要事物 模式设置语句如下: (1)设置隐性事务开始模式: set implicit transactions on:启动隐性事务模式; set implicit transactions off:关闭隐性事务模式。 (2)设置隐性事务回滚模式: set xact abort on:当事务中任一条语句运行错误时, 整个事务将终止并整体回滚 set xact abort off:当事务中语句运行错误时,将终止 本条语句且只回滚本条语句
12.1.2 事物模式 3.隐式事务 隐式事务是用set implicit transactions on不明显地定义 事务开始,用commit或rollback语句明显地定义事务 结束的事务。在隐式事务模式下,在当前事务提交或 回滚后,SQL Server 自动开始下一个事务。主要事物 模式设置语句如下: (1)设置隐性事务开始模式: set implicit_transactions on:启动隐性事务模式; set implicit_transactions off:关闭隐性事务模式。 (2)设置隐性事务回滚模式: set xact_abort on:当事务中任一条语句运行错误时, 整个事务将终止并整体回滚; set xact_abort off:当事务中语句运行错误时,将终止 本条语句且只回滚本条语句

122并发访问 数据库是允许多用户同时使用的共享资源,当多 个事务并发访问(同时访问同一资源)时,若 不加控制就可能会彼此冲突,破坏了数据的完 整性和一致性,从而产生负面影响。 122.1并发概述 1222并发异常 1223并发调度
12.2 并发访问 数据库是允许多用户同时使用的共享资源,当多 个事务并发访问(同时访问同一资源)时,若 不加控制就可能会彼此冲突,破坏了数据的完 整性和一致性,从而产生负面影响。 12.2.1 并发概述 12.2.2 并发异常 12.2.3 并发调度

1221并发概述 如果事物是顺序执行的,即一个事物完成之后, 再开始另一个是事物,则称这种执行方式为串 行执行,如图12-1a所示;如果数据库管理系 统可以同时接收多个事物,并且这些事物在时 间上可以重叠执行,则称这种执行方式为并行 执行。在单CPU系统中,同一时间只能有一个 事物占据CPU。各事物交叉地使用CPU,这 种并发方式交叉并发。在多CPU系统中,多个 事物可以同时占据CPU,这种并发方式称为同 时并发,如图12-1b所示。在没有特殊说明的 情况下,并发访问只考虑单CPU系统中的交叉 并发的情况
12.2.1 并发概述 如果事物是顺序执行的,即一个事物完成之后, 再开始另一个是事物,则称这种执行方式为串 行执行,如图12-1a所示;如果数据库管理系 统可以同时接收多个事物,并且这些事物在时 间上可以重叠执行,则称这种执行方式为并行 执行。在单CPU系统中,同一时间只能有一个 事物占据CPU。各事物交叉地使用CPU,这 种并发方式交叉并发。在多CPU系统中,多个 事物可以同时占据CPU,这种并发方式称为同 时并发,如图12-1b所示。在没有特殊说明的 情况下,并发访问只考虑单CPU系统中的交叉 并发的情况

1221并发概述 时间 间T1T2T3 T2 a)串行执行 b)交叉并行执行 图12-1多个事物的执行情况
12.2.1 并发概述 a)串行执行 b)交叉并行执行 图12-1 多个事物的执行情况
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第2章 运算方法和运算器.ppt
- 《数据科学》课程教学资源(PPT课件讲稿)第2章 数据预处理.ppt
- 西安理工大学:面向主题的服务(PPT讲稿)综合集成支撑平台业务化——互联网信息化(平台、内容、服务).ppt
- 中国科学技术大学:《数据结构》课程教学资源(PPT课件讲稿)第三章 线性表.pps
- 《计算机网络》课程PPT教学课件(Windows)第09讲 DNS服务.ppt
- 《软件工程》课程教学资源(PPT课件讲稿)第12章 软件开发工具StarUML及其应用.ppt
- 西华大学:《电子商务概论》课程教学资源(PPT课件讲稿)第7章 电子商务物流.ppt
- 中国科学技术大学:《嵌入式操作系统 Embedded Operating Systems》课程教学资源(PPT课件讲稿)第六讲 死锁及其处理.ppt
- 电子科技大学:《网络安全与网络工程》课程教学资源(PPT课件讲稿)第六章 杂凑函数(主讲:聂旭云).ppt
- 某高校计算机专业课程教学大纲合集(汇编).pdf
- 上海交通大学:操作系统安全(PPT课件讲稿)操作系统安全 OS Security(邹恒明).pps
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,3rd edition)Chapter 5 Link Layer and LANs.pps
- 《计算机网络安全》课程电子教案(PPT教学课件)第一章 计算机网络安全概述.ppt
- 并发程序精化验证及其应用(PPT讲稿)Refinement Verification of Concurrent Programs and Its Applications.pptx
- 《单片机原理与其应用》课程教学资源(PPT课件讲稿)第8章 单片机的存储器的扩展.pptx
- 南京大学:模型检验(PPT课件讲稿)model checking.pptx
- 苏州大学:《中文信息处理》课程教学资源(PPT课件讲稿)第二章 汉字代码体系.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第4章 选择结构程序设计.ppt
- 《机器学习》课程教学资源(PPT课件讲稿)第六章 特征降维和选择.ppt
- 数据挖掘实现的住院病人的实时预警(PPT讲稿)Real-Time Clinical Warning for Hospitalized Patients via Data Mining.pptx
- 关键词抽取、社会标签推荐及其在社会计算中的应用.pptx
- 克里特大学:The Application of Artificial Neural Networks in Engineering and Finance.ppt
- 山东大学:IPv6试商用的进展和挑战(PPT讲稿,网络与信息中心:秦丰林).pptx
- 清华大学:域内路由选择(PPT课件讲稿)Intra-domain routing.pptx
- 清华大学:TCP and Congestion Control(1).pptx
- 《人工智能技术导论》课程教学资源(PPT课件讲稿)第3章 图搜索与问题求解.ppt
- 《网页设计》课程教学资源:课程教学大纲.doc
- 西安电子科技大学:《操作系统 Operating Systems》课程教学资源(PPT课件讲稿)Chapter 04 Memory Management.ppt
- 中国水利水电出版社:《单片机原理及应用》课程PPT教学课件(C语言版)第8章 单片机系统扩展(主编:周国运).ppt
- 《Photoshop基础教程与上机指导》教学资源(PPT讲稿)第18章 扫描和修饰图像.ppt
- 西安电子科技大学:《现代密码学》课程教学资源(PPT课件讲稿)第二章 流密码(主讲:董庆宽).pptx
- 北京大学:《高级软件工程》课程教学资源(PPT课件讲稿)第一讲 软件与软件开发.ppt
- 东南大学:《数据结构》课程教学资源(PPT课件讲稿)第七章 图.ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 02 Procedure-Based Programming.ppt
- 《数据库原理与应用》课程PPT教学课件(SQL Server)第9章 存储过程和触发器.ppt
- 合肥学院:《数据库原理与应用》课程教学资源(PPT课件)第1章 数据库系统概述(主讲:叶潮流).ppt
- 北京大学软件研究所:高级软件工程(PPT讲稿)云计算与平台即服务.ppt
- 香港科技大学:深度学习导论(PPT讲稿)Introduction to Deep Learning.pptx
- 香港中文大学:《Topics in Theoretical Computer Science》课程教学资源(PPT课件讲稿)量子计算 Quantum computing.pptx
- 《数字图像处理》课程PPT教学课件(讲稿)第二章 图像获取、显示和表示.ppt