欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    数据库系统概论 SQL CH11作业解答.docx

    • 资源ID:3560012       资源大小:39.09KB        全文页数:6页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库系统概论 SQL CH11作业解答.docx

    数据库系统概论 SQL CH11作业解答第十一章 并发控制 1、在数据库中为什么要并发控制?并发控制技术能保证事务的哪些特性? 答:数据库是共享资源,通常有许多个事务同时在运行。 当多个事务并发地存取数据库时就会产生同时读取和 /或修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。 并发控制技术保证事务的一致性,隔离性。 2. 并发操作可能会产生哪几类数据不一致?用什么方法能避免各种不一致的情况? 答:并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读 “脏”数据。 丢失修改:两个事务 T1和T2读入同一数据并修改,T2提交的结果破坏了T1提交的结果,导致T1的修改被丢失。 不可重复读:不可重复读是指事务 T1读取数据后,事务T2执行更新操作,使T1无法再现前一次读取结果。 读“脏”数据:读 “脏”数据是指事务T1修改某一数据,并将其写回磁盘,事务T2读取同一数据后,T1由于某种原因被撤销,这时T1已修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为“脏”数据,即不正确的数据。 避免不一致性的方法和技术就是并发控制。最常用的并发控制技术是封锁技术。也可以用其他技术,例如在分布式数据库系统中可以采用时间戳方法来进行并发控制。 3. 什么是封锁?基本的封锁类型有几种?试述它们的含义。 答:封锁就是事务T在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。 封锁是实现并发控制的一个非常重要的技术。 基本的封锁类型有两种:排它锁(Exclusive Locks,简称X锁) 和共享锁(Share Locks,简称S锁)。 排它锁又称为写锁。若事务 T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改A。 共享锁又称为读锁。若事务 T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 4、如何用封锁机制保证数据的一致性? 答:数据库管理系统DBMS要求事务在对数据对象进行读、写操作之前首先对该数据执行封锁操作,这样,当其他事务请求对该数据对象加锁时将被拒绝,只能等待。DBMS按照一定的封锁协议,对并发操作进行控制,使得多个并发操作有序地执行,就可避免丢失修改、不可重复读和读“脏”数据等数据不一致性。 7、请给出检测死锁发生的一种方法,当发生死锁后如何解除死锁? 答:数据库系统一般采用允许死锁发生,DBMS检测到死锁后加以解除的方法。 DBMS中诊断死锁的方法与操作系统类似,一般使用超时法或事务等待图法。 超时法是:如果一个事务的等待时间超过了规定的时限,就认为发生了死锁。超时法实现简单,但有可能误判死锁,事务因其他原因长时间等待超过时限时,系统会误认为发生了死锁。若时限设置得太长,又不能及时发现死锁发生。 DBMS并发控制子系统检测到死锁后,就要设法解除。通常采用的方法是选择一个处理死锁代价最小的事务,将其撤消,释放此事务持有的所有锁,使其他事务得以继续运行下去。当然,对撤销的事务所执行的数据修改操作必须加以恢复。 8、什么样的并发调度是正确的调度? 答:可串行化的调度是正确的调度。 可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度。 9、设T1、T2、T3,是如下3个事务,设A的初值为0; T1:A:=A+2; T2:A:=A*2; T3:A:=A*2; 若这3个事务允许并发执行,则有多少种可能的正确结果,请一一列举出来; 请给出一个可串行化的调度,并给执行结果; 请给出一个非串行化的调度,并给执行结果; 若这3个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度; 若这3个事务都遵守两段锁协议,请给出一个产生死锁的调度。 答: A的最终结果可能有2、4、8、16 因为串行执行的次序有T1T2T3、T1T3T2、T2T1T3、T2T3T1、T3T1T2、T3T2T1,对应的执行结果为: 执行次序:T1T2T3,结果:16; 执行次序:T1T3T2,结果:8; 执行次序:T2T1T3,结果:4; 执行次序:T2T3T1,结果:2; 执行次序:T3T1T2,结果:4; 执行次序:T2T3T1,结果:2; 请给出一个可串行化的调度,并给执行结果; T1 T2 Slock A Y=A(=0) Unlock A Xlock A T3 A=Y+2 写回A Unclok A Slock A 等待 等待 等待 Y=A(=2) Unlock A Xclock A A=Y*2 写回A Unlock A Slock A 等待 等待 等待 Y=A(=4) Unlock A Xclock A A=Y*2 写回A Unlock A 请给出一个非串行化的调度,并给执行结果; T1 T2 T3 Slock A Y=A(=0) Unlock A Slock A Y=A(=0) Xlock A 等待 Unlock A A=Y+2 Slock A 写回A 等待 Unclok A Y=A(=2) Unlock A Xclock A Xclock A 等待 A=Y*2 等待 写回A 等待 Unlock A A=Y*2 写回A Unlock A 若这3个事务都遵守两段锁协议,请给出一个不产生死锁的可串行化调度; T1 T2 T3 Slock A Y=A(=0) Xlock A A=Y+2 Slock A 写回A 等待 Slock A 等待 等待 等待 Y=A Xclock A A=Y*2 写回A Unlock A Unlock A 若这3个事务都遵守两段锁协议,请给出一个产生死锁的调度。 T1 T2 T3 Slock A Y=A(=0) Slock A Y=A Xlock A 等待 Xclock A 等待 Slock A Y=A Xclock A 等待 13、为什么要引进意向锁? 意向锁的含义是什么? 答:引进意向锁是为了提高封锁子系统的效率。该封锁子系统支持多种封锁粒度。 原因是:在多粒度封锁方法中一个数据对象可能以两种方式加锁:显式封锁和隐式封锁。因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无封锁与之冲突;还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的封锁冲突;显然,这样的检查方法效率很低。为此引进了意向锁。 意向锁的含义是:对任一结点加锁时,必须先对它的上层结点加意向锁。 例如事务 T要对某个元组加X锁,则首先要对关系和数据库加IX锁。换言之,对关系和数据库加IX锁,表示它的后裔结点某个元组拟加X锁。 引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。例如,事务 T要对关系R加X锁时,系统只要检查根结点数据库和R本身是否已加了不相容的锁,而不再需要搜索和检查R中的每一个元组是否加了X锁或S锁。 Unlock A Unclok A 等待 Y=A Xclock A 等待 A=Y*2 写回A Unlock A Unlock A

    注意事项

    本文(数据库系统概论 SQL CH11作业解答.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开