数据库系统概论王珊chp学习教案_第1页
数据库系统概论王珊chp学习教案_第2页
数据库系统概论王珊chp学习教案_第3页
数据库系统概论王珊chp学习教案_第4页
数据库系统概论王珊chp学习教案_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、会计学1数据库系统概论数据库系统概论(giln)王珊王珊chp第一页,共100页。n数百个第1页/共100页第二页,共100页。T1T2T3事务的串行执行(zhxng)方式第2页/共100页第三页,共100页。第3页/共100页第四页,共100页。事务的交叉并发(bngf)执行方式第4页/共100页第五页,共100页。第5页/共100页第六页,共100页。第6页/共100页第七页,共100页。11.7 第7页/共100页第八页,共100页。第8页/共100页第九页,共100页。并发(bngf)控制概述(续)第9页/共100页第十页,共100页。第10页/共100页第十一页,共100页。第11页

2、/共100页第十二页,共100页。第12页/共100页第十三页,共100页。T1T2 R(A)=16R(A)=16 AA-1 W(A)=15WAA-1W(A)=15丢失(dis)修改第13页/共100页第十四页,共100页。第14页/共100页第十五页,共100页。第15页/共100页第十六页,共100页。T1T2 R(A)=50 R(B)=100求和=150R(B)=100BB*2(B)=200 R(A)=50R(B)=200和=250(验算不对)不可(bk)重复读 例如:第16页/共100页第十七页,共100页。第17页/共100页第十八页,共100页。读到的数据就与数据库中的数据不一致T

3、2读到的数据就为“脏”数据,即不正确的数据第18页/共100页第十九页,共100页。T1T2 R(C)=100 CC*2 W(C)=200R(C)=200ROLLBACK C恢复为100例如(lr)读“脏”数据(shj) nT1将C值修改为200,T2读到C为200nT1由于某种原因撤销,其修改作废,C恢复原值100n这时T2读到的C为200,与数据库内容不一致,就是“脏”数据 第19页/共100页第二十页,共100页。第20页/共100页第二十一页,共100页。第21页/共100页第二十二页,共100页。11.7 小结小结第22页/共100页第二十三页,共100页。第23页/共100页第二十

4、四页,共100页。不能更新此数据对象。第24页/共100页第二十五页,共100页。第25页/共100页第二十六页,共100页。第26页/共100页第二十七页,共100页。第27页/共100页第二十八页,共100页。Y=Yes,相容的请求N=No,不相容的请求 T1 T2XS-XNNYSNYY-YYY第28页/共100页第二十九页,共100页。第29页/共100页第三十页,共100页。T1T2 Xlock A R(A)=16Xlock A AA-1等待 W(A)=15等待 Commit等待 Unlock A等待获得Xlock AR(A)=15AA-1W(A)=14CommitUnlock A例:

5、n事务T1在读A进行(jnxng)修改之前先对A加X锁n当T2再请求对A加X锁时被拒绝nT2只能等待T1释放A上的锁后T2获得对A的X锁n这时T2读到的A已经是T1更新过的值15nT2按此新的A值进行(jnxng)运算,并将结果值A=14送回到磁盘。避免了丢失T1的更新。没有丢失(dis)修改第30页/共100页第三十一页,共100页。T1T2 Slock ASlock BR(A)=50R(B)=100求和=150Xlock B等待等待 R(A)=50等待R(B)=100等待求和=150等待Commit等待Unlock A等待Unlock B等待获得XlockBR(B)=100BB*2W(B)

6、=200CommitUnlock Bn事务T1在读A,B之前,先对A,B加S锁n其他事务只能再对A,B加S锁,而不能加X锁,即其他事务只能读A,B,而不能修改(xigi)n当T2为修改(xigi)B而申请对B的X锁时被拒绝只能等待T1释放B上的锁nT1为验算再读A,B,这时读出的B仍是100,求和结果仍为150,即可重复读nT1结束才释放A,B上的S锁。T2才获得对B的X锁 可重复(chngf)读第31页/共100页第三十二页,共100页。T1T2 Xlock CR(C)=100CC*2W(C)=200Slock C等待 ROLLBACK等待(C恢复为100)等待Unlock C等待获得Slo

7、ck CR(C)=100Commit CUnlock C例n事务T1在对C进行(jnxng)修改之前,先对C加X锁,修改其值后写回磁盘nT2请求在C上加S锁,因T1已在C上加了X锁,T2只能等待nT1因某种原因被撤销,C恢复为原值100nT1释放C上的X锁后T2获得C上的S锁,读C=100。避免了T2读“脏”数据不读“脏”数据(shj) 第32页/共100页第三十三页,共100页。11.7 第33页/共100页第三十四页,共100页。第34页/共100页第三十五页,共100页。第35页/共100页第三十六页,共100页。活 锁第36页/共100页第三十七页,共100页。第37页/共100页第三

8、十八页,共100页。第38页/共100页第三十九页,共100页。T1T2lock R1Lock R2Lock R2.等待等待Lock R1等待等待等待等待死 锁第39页/共100页第四十页,共100页。第40页/共100页第四十一页,共100页。第41页/共100页第四十二页,共100页。第42页/共100页第四十三页,共100页。su)对象第43页/共100页第四十四页,共100页。第44页/共100页第四十五页,共100页。第45页/共100页第四十六页,共100页。第46页/共100页第四十七页,共100页。第47页/共100页第四十八页,共100页。第48页/共100页第四十九页,共1

9、00页。 事务等待图n图(a)中,事务T1等待T2,T2等待T1,产生(chnshng)了死锁n图(b)中,事务T1等待T2,T2等待T3,T3等待T4,T4又等待T1,产生(chnshng)了死锁 n图(b)中,事务T3可能还等待T2,在大回路中又有小的回路 第49页/共100页第五十页,共100页。第50页/共100页第五十一页,共100页。第51页/共100页第五十二页,共100页。11.7 第52页/共100页第五十三页,共100页。第53页/共100页第五十四页,共100页。n(shw)准则n一个给定的并发调度,当且仅当它是可串行化的,才认为是正确调度第54页/共100页第五十五页,

10、共100页。第55页/共100页第五十六页,共100页。T1T2Slock BY=R(B)=2Unlock BXlock AA=Y+1=3W(A)Unlock ASlock AX=R(A)=3Unlock AXlock BB=X+1=4W(B)Unlock B串行调度(diod)(a)n假设A、B的初值均为2。n按T1T2次序执行(zhxng)结果为A=3,B=4 n串行调度策略,正确的调度 第56页/共100页第五十七页,共100页。T1T2Slock AX=R(A)=2Unlock AXlock BB=X+1=3W(B)Unlock BSlock BY=R(B)=3Unlock BXloc

11、k AA=Y+1=4W(A)Unlock A串行调度(diod)(b)n假设A、B的初值均为2。nT2T1次序执行结果为B=3,A=4 n串行调度(diod)策略,正确的调度(diod) 第57页/共100页第五十八页,共100页。T1T2Slock BY=R(B)=2Slock AX=R(A)=2Unlock BUnlock AXlock AA=Y+1=3W(A)Xlock BB=X+1=3W(B)Unlock AUnlock B不可(bk)串行化的调度 n执行结果(ji gu)与(a)、(b)的结果(ji gu)都不同n是错误的调度 第58页/共100页第五十九页,共100页。T1T2Sl

12、ock BY=R(B)=2Unlock BXlock ASlock AA=Y+1=3等待W(A)等待Unlock A等待X=R(A)=3Unlock AXlock BB=X+1=4W(B)Unlock B可串行化的调度(diod) n执行结果与串行调度(a)的执行结果相同(xin tn)n是正确的调度 第59页/共100页第六十页,共100页。n一个调度是冲突可串行化,一定是可串行化的调度第60页/共100页第六十一页,共100页。第61页/共100页第六十二页,共100页。第62页/共100页第六十三页,共100页。第63页/共100页第六十四页,共100页。11.7 小结小结第64页/共1

13、00页第六十五页,共100页。第65页/共100页第六十六页,共100页。得任何其他封锁第66页/共100页第六十七页,共100页。第67页/共100页第六十八页,共100页。第68页/共100页第六十九页,共100页。事务T1事务T2Slock(A)R(A=260)Slock(C)R(C=300)Xlock(A)W(A=160)Xlock( C )W(C=250)Slock(A)Slock(B)等待R(B=1000)等待Xlock(B)等待W(B=1100) 等待Unlock(A)等待R(A=160)Xlock(A)Unlock(B)W(A=210)Unlock( C )遵守两段锁协议(xi

14、y)的可串行化调度n左图的调度是遵守两段锁协议的,因此(ync)一定是一个可串行化调度。第69页/共100页第七十页,共100页。第70页/共100页第七十一页,共100页。第71页/共100页第七十二页,共100页。T1Slock BR(B)=2 Xlock A等待(dngdi)等待(dngdi)T2 Slock AR(A)=2 Xlock A等待遵守两段锁协议的事务可能发生死锁 第72页/共100页第七十三页,共100页。11.7 第73页/共100页第七十四页,共100页。第74页/共100页第七十五页,共100页。第75页/共100页第七十六页,共100页。第76页/共100页第七十七

15、页,共100页。第77页/共100页第七十八页,共100页。n第78页/共100页第七十九页,共100页。数据库关系Rn关系R1元组元组元组元组 三级粒度(l d)树第79页/共100页第八十页,共100页。第80页/共100页第八十一页,共100页。第81页/共100页第八十二页,共100页。第82页/共100页第八十三页,共100页。第83页/共100页第八十四页,共100页。第84页/共100页第八十五页,共100页。第85页/共100页第八十六页,共100页。锁)第86页/共100页第八十七页,共100页。第87页/共100页第八十八页,共100页。第88页/共100页第八十九页,共100页。第89页/共100页第九十页,共100页。意向锁的相容(xin rn)矩阵第90页/共100页第

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论