第6章数据库保护教学幻灯片.ppt

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、事务的表示方法: Ri(X)表示事务Ti的读X操作; Wi(X)表示事务Ti的写X操作。 例:事务T1(Read(B);A=B+1;write(A)) 事务T2(Read(A);B=A+1;write(B)) 可以表示成: T1:R1(B)W1(A) T2:R2(A)W2(B) 二、调度可串行性 R1(X) R1(Y) W1(Y) 符号→表示先于(<),即R1(X)先于W1(Y)执行, R1(Y)先于W1(Y)执行,而R1(X)和R1(Y)的先后次序无关紧要。 2、冲突操作 定义:如果两个操作来自不同的事务,它们对同一数据单位进行操作,并且其中至少有一个是写操作,则称这两个操作是相互冲突的或冲突操作。 例:事务T0:W0(X)W0(Y)W0(Z) 事务T1:R1(X)R1(Z)W1(X) 则在这两个事务中有冲突操作: R1(X)与W0(X) W1(X)与W0(X) R1(Z)与W0(Z) 调度:对于冲突操作不能同时执行,哪个先执行,哪个后执行。 3、调度: 事务执行的次序。 设τ={T1,T2, …T n}是一事务集, τ的一个调度S是一个拟序集(∑ ,<s) 其中: 1) ∑说明S执行的操作正是T1,T2, …T n 的操作。 2) <s 说明调度S遵守每个事务的操作的内部执行次序 3) 每对冲突操作的执行次序由S决定。 R1(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)< W1(X), R1(Z)<W1(X)}) 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)}) S1=({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)}) 4、串行调度:如果在一个调度中,各个事务不交叉执行,而顺序地串行执行,这个调度被称为串行调度。 定义:如果调度S中的任意两个事务Ti和Tj,如果Ti的所有操作都先于Tj的所有操作,或者相反,则称S为串行调度。 注意:在串行调度中每一个事务都是在下一个事务开始执行之前提交。因此,串行调度没有并发性,故每一个串行调度都是一个正确的执行。 5、并发调度:如果在一个调度中,各个事务交叉地执行,这个调度称为并发调度。 6、可串行化的调度:如果一个事务集的并发调度与某一串行调度是等价的,则称该并发调度是可串行化的 。 7、串行化定理 定理:一个调度S是可串行化的,当且仅当它的串行图是无环的。 串行图:设S是若干事务{T1,T2,…,Tn}的一个调度,S的串行图SG(S)是一个有向图,其构成规则如下: 1)图中的结点表示事务 2)如果Oi和Oj是冲突操作,且Oi先于Oj执行,则在图中有一条边Ti→Tj。 R1(X) W1(X) R3(X) W3(Z) R2(X) W2(Y) W1(Y) T2 T1 T3 R1(X) W1(X) R3(X) W3(X) R2(X) W2(Y) W1(Y) T2 T1 T3 8、等价的串行调度:如果SG(S)是无环的,则S等价于SG(S)的任一拓扑排序。 T2 T1 T3 拓扑排序为: T2,T1,T3 T1 T2 T3 拓扑排序为:T1,T3,T2 或为:T1,T2,T3 拓扑排序:从无入弧的节点开始递归去除 W0(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) T0 T1 T2 T3 T4 调度S的串行图 拓扑排序为: T0,T2,T1,T3,T4 或为: T0,T2,T3,T1,T4 1、封锁:事务T在对数据进行操作之前,先向系统申请对其进行加锁,获得锁后不允许其它事务更新该数据,直到事务T释放该数据上的锁。 2、封锁的类型 排它锁(又称写锁,简称X锁) 若事务T对数据对象A加上X锁,则其它事务不能在A上加任何类型的锁,此时,只允许事务T读取和修改A,直到T释放A上的锁。 共享锁(又称读锁,简称S锁) 若事务T对数据对象A加上S锁,则其它事务也可在A

文档评论(0)

yuzongxu123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档