数据库系统的恢复和并发控制技术.ppt
《数据库系统的恢复和并发控制技术.ppt》由会员分享,可在线阅读,更多相关《数据库系统的恢复和并发控制技术.ppt(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、16数据库保护数据库恢复数据库恢复并发控制并发控制数据库安全性数据库安全性数据库完整性数据库完整性21 1、事务的表示方法:、事务的表示方法:R Ri i(X)(X)表示事务表示事务T Ti i的读的读X X操作;操作;W Wi i(X)(X)表示事务表示事务T Ti i的写的写X X操作。操作。例:事务例:事务T1(Read(B)T1(Read(B);A=B+1A=B+1;write(A)write(A),事务事务T2(Read(A)T2(Read(A);B=A+1B=A+1;write(B)write(B)可以表示成:可以表示成:T T1 1:R R1 1(B)W(B)W1 1(A)T(A
2、)T2 2:R R2 2(A)W(A)W2 2(B)(B)3例例:事务事务 T1:R1(X)R1(Y)W1(Y)的执行顺序可表示为的执行顺序可表示为R1(X)R1(Y)W1(Y)符号符号表示先于(表示先于(),即,即R1(X)先于先于W1(Y)执行,执行,R1(Y)先于先于W1(Y)执行,而执行,而R1(X)和和R1(Y)的先后次序无关紧要。的先后次序无关紧要。42 2、冲突操作、冲突操作定义定义:如果两个操作来自不同的事务,它:如果两个操作来自不同的事务,它们对同一数据单位进行操作,并且其中们对同一数据单位进行操作,并且其中至少有一个是写操作,则称这两个操作至少有一个是写操作,则称这两个操作
3、是相互冲突的或冲突操作。是相互冲突的或冲突操作。例:事务例:事务T T0 0:W W0 0(X)W(X)W0 0(Y)W(Y)W0 0(Z)(Z)事务事务T T1 1:R R1 1(X)R(X)R1 1(Z)W(Z)W1 1(X)(X)则在这两个事务中有冲突操作:则在这两个事务中有冲突操作:R R1 1(X)(X)与与W W0 0(X)(X)W W1 1(X)(X)与与W W0 0(X)(X)R R1 1(Z)(Z)与与W W0 0(Z)(Z)对于冲突操作不能同时执行,哪个先执对于冲突操作不能同时执行,哪个先执行,哪个后执行由调度决定。行,哪个后执行由调度决定。53、调度、调度 设设=T1,T
4、2,T n是一事务集,是一事务集,的一个调度的一个调度S是一拟序集(是一拟序集(,s)其中其中:1)说明说明S执行的操作正是执行的操作正是T1,T2,T n 的操作。的操作。2)s 说明调度说明调度S遵守每个事务的操作的遵守每个事务的操作的 内部执行次序内部执行次序 3)每对冲突操作的执行次序由每对冲突操作的执行次序由S决定。决定。6例如:考虑下列两个事务T0,T1T0=W0(X)W0(Y)W0(Z)T1=R1(X)R1(Z)W1(X)T0,T1的拟序集表示为:的拟序集表示为:T0=(W0(X),W0(Y),W0(Z),)T1=(R1(X),R1(Z),W1(X),R1(X)W1(X),R1(
5、Z)W1(X)7R1(X)R1(Z)W1(X)S1=W0(X)W0(Y)W0(Z)S1=(W0(X),W0(Y),W0(Z),R1(X),R1(Z),W1(X),W0(X)R1(X),W0(Z)R1(Z),R1(X)R1(Z),R1(X)W1(X),R1(Z)W1(X)两个事务两个事务T0,T1的调度可以表示为:的调度可以表示为:8S2=(W0(X),W0(Y),W0(Z),R1(X),R1(Z),W1(X),W0(X)R1(X),W0(Z)R1(Z),R1(Z)R1(X),R1(X)W1(X),R1(Z)W1(X))R1(X)R1(Z)W1(X)S2=W0(X)W0(Y)W0(Z)两个事务两
6、个事务T0,T1的调度可以表示为:的调度可以表示为:9R1(X)R1(Z)W1(X)S3=W0(X)W0(Y)W0(Z)S3=(W0(X),W0(Y),W0(Z),R1(X),R1(Z),W1(X),W0(X)R1(X),W0(Z)R1(Z),R1(X)W1(X),R1(Z)W1(X))两个事务两个事务T0,T1的调度可以表示为:的调度可以表示为:10例:给出事务例:给出事务T0,T1,T2,T3,T4的一个调度的一个调度T0=W0(X)W0(Y)W0(Z)T1=R1(X)R1(Z)W1(X)T4=R4(X)R4(Y)R4(Z)T2=R2(X)W2(Y)T3=R3(Z)W3(Y)W3(Z)11
7、一个调度S1W0(X)W0(Y)W0(Z)R1(X)R1(Z)W1(X)R3(Z)W3(Y)W3(Z)R4(X)R4(Y)R4(Z)R2(X)W2(Y)请写出S1的拟序集124 4、串行调度、串行调度 如果在一个调度中,各个事务不交叉执如果在一个调度中,各个事务不交叉执行,而顺序地串行执行,这个调度被称行,而顺序地串行执行,这个调度被称为串行调度。为串行调度。定义:定义:如果调度如果调度S S中的任意两个事务中的任意两个事务TiTi和和TjTj,如,如果果TiTi的所有操作都先于的所有操作都先于TjTj的所有操作,或者相反,的所有操作,或者相反,则称则称S S为为串行调度串行调度。注意:注意:
8、在串行调度中每一个事务都是在下一个事务开在串行调度中每一个事务都是在下一个事务开始执行之前提交。因此,始执行之前提交。因此,串行调度没有并发性串行调度没有并发性,故每一个串行调度都是一个正确的执行。故每一个串行调度都是一个正确的执行。135 5、并发调度、并发调度 如果在一个调度中,各个事务交叉地执如果在一个调度中,各个事务交叉地执行,这个调度称为并发调度。行,这个调度称为并发调度。14定义:定义:多个事务的并发执行是正确的,当且多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们仅当其结果与按某一次序串行地执行它们时的结果相同,称这种调度策略为时的结果相同,称这种调度策略为可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 恢复 并发 控制 技术
限制150内