数据库--并发控制问答题

1. 试述DBMS中采用并发控制的目的。

并发控制是以事务为单位进行的。DBMS中的并发控制的目的是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。

2. 试述共享锁和排他锁的含义。

排他锁又称为写锁。排他锁是最严格的一类封锁,当需要对表进行插入、删除或更新操作时,应该使用排他锁。当一个事务对某数据加上排他锁后,其他事务不得对该数据对象施加任何封锁。
共享锁又称为读锁。当一个事务队某数据对象加上共享锁后,其他事务可以读取该数据,不能对该数据对象做任何修改。共享锁可以保证最大的并发性,任何数量的用户可以同时对相同的数据施加共享锁。

3. 试述死锁是如何产生的,列举一些常见的预防死锁的方法。

产生死锁的原因是两个或多个事务都锁定了一些数据库对象,然后又都需要锁定对方的数据库对象失败而需要等待所造成的。
预防死锁通常有两种方法: 一次封锁法和顺序封锁法。一次封锁法要求每个事务一次就将要操作的数据库对象全部锁定,否则就不继续执行。该方法会降低系统的并发度。
顺序封锁法要求预先对数据库对象规定一个封锁顺序,所有事务都按这个顺序来实行封锁。该方法算法复杂,成本高。

4. 简述数据库系统中经常用到检测和解除死锁的方法。

数据库系统中检测死锁一般使用超时法或事务等待图法。
数据库管理系统一般采用如下方法来解除死锁:在循环等待的事务中,选择一个事务作为牺牲者,给其他事务“让路”。回滚牺牲的事务,释放其获得的锁及其他资源。将释放的锁让给等待它的事务。

5. 简述多粒度封锁的含义以及优点。

同时支持多种锁定粒度供事务选择的封锁方法叫做多粒度封锁。其中,封锁对象可以是数据库、表、记录、列、索引等的逻辑单元,也可以是数据页或索引页、块等的物理单元。
采用多种粒度封锁能够提高并发度和减少锁的数量。

6. 试述意向锁的含义,简要介绍几种常见的意向锁。

意向锁的含义是,如果对一个节点加某种意向锁,则会对该节点的各级下级节点加这种锁;如果对一个节点加某种锁,则必须先对该节点的各级上级节点加这种意向锁。
常见的意向锁有:意向共享锁(IS锁)、意向排他锁(IX锁)、共享意向排他锁(Share SIX锁)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值