《数据库技术与应用》第9章 并发控制 习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章并发控制
1. 试述DBMS中采用并发控制的目的。
解:
并发控制是以事务为单位进行的。DBMS中的并发控制的目的是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。
2. 试述共享锁和排他锁的含义。
解:
排它锁又称为写锁。排他锁是最严格的一类封锁,当需要对表进行插入、删除或更新操作时,应该使用排他锁。当一个事务对某数据加上排他锁后,其他事务不得对该数据对象施加任何封锁。
共享锁又称为读锁。当一个事务队某数据对象加上共享锁后,其他事务可以读取该数据,不能对该数据对象做任何修改。共享锁可以保证最大的并发性,任何数量的用户可以同时对相同的数据施加共享锁。
3. 试述死锁是如何产生的,列举一些常见的预防死锁的方法。
解:
产生死锁的原因是两个或多个事务都锁定了一些数据库对象,然后又都需要锁定对方的数据库对象失败而需要等待所造成的。
预防死锁通常有两种方法:
一次封锁法和顺序封锁法。一次封锁法要求每个事务一次就将要操作的数据库对象全部锁定,否则就不继续执行。该方法会降低系统的并发度。
顺序封锁法要求预先对数据库对象规定一个封锁顺序,所有事务都按这个顺序来实行封锁。该方法算法复杂,成本高。
4. 简述数据库系统中经常用到检测和解除死锁的方法。
解:
数据库系统中检测死锁一般使用超时法或事务等待图法。
数据库管理系统一般采用如下方法来解除死锁:在循环等待的事务中,选择一个事务作为牺牲者,给其他事务“让路”。回滚牺牲的事务,释放其获得的锁及其他资源。将释放的锁让给等待它的事务。
5. 简述多粒度封锁的含义以及优点。
解:
同时支持多种锁定粒度供事务选择的封锁方法叫做多粒度封锁。其中,封锁对象可以是数据库、表、记录、列、索引等的逻辑单元,也可以是数据页或索引页、块等的物理单元。
采用多种粒度封锁能够提高并发度和减少锁的数量。
6. 试述意向锁的含义,简要介绍几种常见的意向锁。
解:
意向锁的含义是,如果对一个节点加某种意向锁,则会对该节点的各级下级节点加这种锁;如果对一个节点加某种锁,则必须先对该节点的各级上级节点加这种意向锁。
常见的意向锁有:意向共享锁(IS锁)、意向排他锁(IX锁)、共享意向排他锁(Share SIX锁)