数据库 7并发控制.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7并发控制 事务是并发控制的基本单位,保证事务acid特性是事务处理的重要任务,而事务acid特性可能遭到破坏的原因之一是多个事务对数据库的兵法操作造成的 ,为了保证事务的隔离性更一般,为了保证数据库的一致性,dbms需要对并发操作进行正确调度,这些就是数据库管理系统中并发控制机制的责任。 数据的不一致性:因多个事务对同一数据地交叉修改(并发操作)而引起地数据不正确或数据修改丢失就称为数据的不一致性。 并发操作带来的数据不一致性包括3类:丢失修改,不可重复读和读脏数据。 1.丢失修改 两个事务t1\ t2读入同一数据并修改,t2提交的结果破坏了t1提交的结果,导致t1得修改被丢失 2.不可重复 读 指t1读取数据后,t2执行更新操作,使t1无法再现前一次的读取结果 3.读脏数据 指t1修改某一数据,并将其写回磁盘,t2读取同一数据后,t1由于某种原因被撤销,数据恢复原值,而t2得到的数据与数据库中的数据不一致。 产生上述3类数据不一致性的原因是并发操作破坏了事务的隔离性 并发控制:就是要用正确的方式调度并发操作,避免造成数据的不一致性,使一个用户事务的执行不受其它事务的干扰。另一方面,对数据库的应用有时允许某些不一致性。 并发控制的主要方法是采用封锁机制(Locking)。 封锁 封锁:事务对数据库操作之前,先对数据加锁以便获得这个数据对象的一定控制,使得其他事务不能更新此数据,直到该事务解锁为止。 1.封锁的类型 共享性封锁(共享锁,或称S锁),也称读锁(RLOCK):若事务T对数据对象A加上S锁,则事务T可以读取A但不能修改A,其他事务只能对A加S锁,而不能加X锁,直道T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的锁之前不能修改A。 排他性封锁(排他锁,或称X锁)—也称写锁(WLOCK):若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直道T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能在读取和修改A。 2.封锁类型的控制方式 封锁类型决定控制方式,用相容矩阵表示控制方式。 3、用封锁机制解决购买火车票问题 封锁 封锁的方法可能引起活锁和死锁 4、活锁与死锁 (1)活锁:某一事务的请求可能永远得不到,该事务一直处于等待状态。 (2)死锁:两个事务处于相互等待状态,永远不能结束。 举例:见下页 死锁的预防 1.一次封锁法 一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行 存在的问题:降低了系统的并发度 很难事先精确地确定每个事物所要封锁的数据对象 2.顺序封锁法 预先对数据对象规定一个封锁顺序,所有的事务都按这个顺序实行封锁。 ]存在的问题: 很难维护这样的资源的封锁顺序 很难按规定的顺序去施加封锁 死锁的诊断与解除 1.超时法 如果一个事务的等待时间超过了规定的时间,就认为发生了死锁。 误判 时限太长时不能及时发现 2.等待图法 图中存在回路,死锁 第4章 数据库安全及维护 本章重点内容 数据库安全性问题的基本概念和保证数据安全性的基本措施 数据库并发情况下的数据安全及处理方法 数据发生故障情况下的恢复技术 4.1 数据库安全性 4.1.1 基本概念 数据库的安全性:指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 安全性问题和保密问题是密切相关的。 4.1.2 安全措施的设置模型 在计算机系统中,安全措施通常是一级一级层层设置的。 4.1 数据库安全性 4.1.2 安全措施的设置模型 1.用户标识和鉴别 首先,系统提供一定的方式让用户标识自己的名字或身份。系统进行核实,通过鉴定后才提供机器使用权。常用的方法有: 用一个用户名或者用户标识号来标明用户身份,系统鉴别此用户是否为合法用户。 口令(Password) 系统提供一个随机数,用户根据预先约定好的某一过程或者函数进行计算,系统根据用户计算结果是否正确进一步鉴定用户身份 4.1.2 安全措施的设置模型 2.存取控制 当用户通过了用户标识和鉴定后,要根据预先定义好的用户权限进行存取控制,保证用户只能存取他有权存取的数据。这里的用户权限是指不同的用户对于不同的数据对象允许执行的操作权限,它由两部分组成,一是数据对象,二是操作类型,定义用户的存取权限就是要设置该用户可以在那些数据对象上进行哪些类型的操作。 4.1.2 安全措施的设置模型 2.存取控制 在非关系系统中,外模式、模式、内模式的建立、修改均由数据库管理员(DBA)负责,一般用户无权执行这些操作,因此存取控制的数据对象仅限于数据本身。在关系系统中DBA可以把建立、修改基本表的权力授予用户。所以,关系系统中存取控制的

文档评论(0)

cxiongxchunj + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档