数据库课件第八章数据库保护幻灯片.ppt

数据库课件第八章数据库保护幻灯片.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章小结 安全性 完整性 并发控制 数据库恢复 数据库复制与镜像 本章作业 P255 5,6,12,14 《数据库系统概论》 P261 1、3、4、5、6、7、8 P280 2、3、4、5、6、13、14 P300 1、7、8、9 P313 1、2、3、6 * 1.课程的名称为与高教部教育司1999年“计算机科学与技术”专业主要课程名称统一,改为《数据库原理》; 2.从99级开始总学时72不变,主讲、上机实验的安排调整为48+24。 * * * 并发操作的调度 系统对并发事务中并行操作的不同调度会产生不同结果: 例:事务T1:读B;A=B+1;写回A; 事务T2:读A;B=A+1;写回B; 设A初值为10,B初值为2,四种不同的调度策略: 串行调度1:按先做T1后做T2的顺序执行 执行结果为:A=3;B=4 串行调度2:按先做T2后做T1的顺序执行 执行结果为:A=12;B=11 并行调度1、并行调度2: T1、T2交错执行,结果不确定 读B=2 A?B+1 回写A=3 读A=10 B?A+1 回写B=11 事务T1 事务T2 读B=2 A?B+1 回写A=3 等待 等待 等待 读A=3 B?A+1 回写B=4 事务T1 事务T2 不可串行化的调度 可串行化的调度 可串行性 不同的调度策略会产生不同结果,哪些正确? 一个事务正常或预想的运行结果是: —— 运行过程中没有其它事务在同时运行所得到的结果。 因此,串行调度策略一定是正确的。 结论:几个事务并发执行是正确的,当且仅当其结果与某一串行执行结果相同。 我们称这种并发调度策略为可串行化(serializable)的调度 可串行性 (serializability) 是并行事务正确性的唯一准则。 为保证并发操作的正确性,DBMS的并发控制机制必须提供一定的手段保证调度的可串行化。 三、封锁 封锁 ——事务T在对某个数据对象操作前,先向系统发出请求,对其加锁。加锁后,事务T 对该对象就有了一定的控制,在事务T 释放它的锁之前,其它事务不能更新此对象。 封锁粒度 —— 封锁对象的大小。 封锁对象可以是:属性值、元组、关系、索引项、索引、数据库等逻辑单元;页、块等物理单元。 注意:封锁粒度与系统的并发度和并发控制的开销密切相关,关系如下: 封锁粒度大 并发度小 开销小 封锁粒度小 并发度高 开销大 并发控制的重要技术 基本的封锁类型 两种基本的封锁类型 排它锁(eXclusive lock X锁) —— 写锁,独占性,即若事务T对数据对象R加了X锁,则除T外其它事务一概不能使用R(包括读和修改),直到T释放X锁。 共享锁(Share lock S锁) —— 读锁,共享性,即若事务T对数据对象R加了S锁,则T只能读R,不能修改R,其它事务仍可以对R加S锁,但不能加X锁,直到T释放R上的S锁。 封锁类型的 相容矩阵 三级封锁协议 保证数据处理一致性的封锁协议 ——三级封锁协议 (1)一级封锁协议 事务T在修改数据R前必须加X锁,直到整个事务结束才释放。事务结束包括:commit、rollback 既防止丢失修改,又保证事务T是可恢复的 (2)二级封锁协议 在一级封锁协议的内容上,事务T在读取数据R前必须对R加S锁,读完后释放。 除防止丢失修改,还防止读入“脏”数据 (3)三级封锁协议 在一级封锁协议的内容上,事务T在读取数据R前必须对R加S锁,直到整个事务结束才释放。 除防止丢失修改、防止读入“脏”数据,进一步保证了数据的可重读。 不同级别的封锁协议 √ √ √ √ √ √ √ √ √ √ √ 两段锁协议 保证并行调度可串行性的封锁协议 ——两段锁协议 两段锁协议规定: ? 在对任何数据进行读、写操作之前,事务首先要获得对该数据的封锁; ? 而且在释放一个封锁之后,事务不再获得任何其他封锁。 其“两段”的含义是: 事务分为两个阶段 第一阶段是获得封锁,称扩展阶段; 第二阶段是释放封锁。称收缩阶段。 如:前一个封锁序列遵循两段锁协议 lock A... lock B… lock C… unlock

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档