欢迎来到天天文库
浏览记录
ID:58001223
大小:417.50 KB
页数:99页
时间:2020-09-04
《第5章-数据库保护(3).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5.3并发控制5.3.1并发控制概述5.3.2并发操作的调度5.3.3封锁5.3.4活锁和死锁5.3.5Oracle的并发控制小结AnIntroductiontoDatabaseSystem1.事务的基本概念一、什么是事务二、如何定义事务三、事务的特性AnIntroductiontoDatabaseSystem一、什么是事务事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位事务和程序是两个概念在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序一个应用程序通常包含多个事务事务是并发
2、控制的基本单位AnIntroductiontoDatabaseSystem二、如何定义事务显式定义方式BEGINTRANSACTIONBEGINTRANSACTIONSQL语句1SQL语句1SQL语句2SQL语句2。。。。。。。。。。COMMITROLLBACK隐式方式当用户没有显式地定义事务时,DBMS按缺省规定自动划分事务AnIntroductiontoDatabaseSystem事务结束COMMIT事务正常结束提交事务的所有操作(读+更新)事务中所有对数据库的更新永久生效ROLLBACK事务异常终止事务运行的过程中发生了故障,不能继续执行回滚事务的所有更新操
3、作事务滚回到开始时的状态AnIntroductiontoDatabaseSystem三、事务的特性(ACID特性)事务的ACID特性:原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持续性(Durability)AnIntroductiontoDatabaseSystem1.原子性事务是数据库的逻辑工作单位事务中包括的诸操作要么都做,要么都不做AnIntroductiontoDatabaseSystem2.一致性事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态一致性状态:数据库中只包含成功事务提交的结果不一致
4、状态:数据库中包含失败事务的结果AnIntroductiontoDatabaseSystem一致性与原子性银行转帐:从帐号A中取出一万元,存入帐号B。定义一个事务,该事务包括两个操作这两个操作要么全做,要么全不做全做或者全不做,数据库都处于一致性状态。如果只做一个操作,数据库就处于不一致性状态。B=B+1A=A-1BAAnIntroductiontoDatabaseSystem3.隔离性对并发执行而言一个事务的执行不能被其他事务干扰一个事务内部的操作及使用的数据对其他并发事务是隔离的并发执行的各个事务之间不能互相干扰AnIntroductiontoDatabase
5、SystemT1的修改被T2覆盖了!读A=16A←A-3写回A=13①读A=16②③A←A-1写回A=15④T2T1AnIntroductiontoDatabaseSystem4.持续性持续性也称永久性(Permanence)一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。AnIntroductiontoDatabaseSystem事务的特性保证事务ACID特性是事务处理的任务破坏事务ACID特性的因素多个事务并行运行时,不同事务的操作交叉执行事务在运行过程中被强行停止AnIntroductiontoD
6、atabaseSystem5.3.1并发控制概述多事务执行方式(1)事务串行执行每个时刻只有一个事务运行,其他事务必须等到这个事务结束以后方能运行不能充分利用系统资源,发挥数据库共享资源的特点AnIntroductiontoDatabaseSystem并发控制(续)(2)交叉并发方式(interleavedconcurrency)事务的并行执行使这些并行事务的并行操作轮流交叉运行是单处理机系统中的并发方式,能够减少处理机的空闲时间,提高系统的效率AnIntroductiontoDatabaseSystem并发控制(续)(3)同时并发方式(simultaneousc
7、oncurrency)多处理机系统中,每个处理机可以运行一个事务,多个处理机可以同时运行多个事务,实现多个事务真正的并行运行最理想的并发方式,但受制于硬件环境更复杂的并发方式机制AnIntroductiontoDatabaseSystem事务并发执行带来的问题可能会存取和存储不正确的数据,破坏事务的隔离性和数据库的一致性DBMS必须提供并发控制机制并发控制机制是衡量一个DBMS性能的重要标志之一AnIntroductiontoDatabaseSystem5.3.1并发控制概述并发控制机制的任务对并发操作进行正确调度保证事务的隔离性保证数据库的一致性AnIntrod
8、uctio
此文档下载收益归作者所有