单选题 数据库中预防死锁通常有两种方法:一种叫 (16) ,它要求每个事物必须一次将所有要使用的数据全部加锁,否则就不能继续执行。另一种叫 (17) ,它是预先对数据对象规定一个封锁顺序,所有事物都按这个顺序实行封锁。数据库系统中诊断死锁的方法与操作系统类似,一般使用 (18)

【正确答案】 B
【答案解析】
【正确答案】 A
【答案解析】
【正确答案】 C
【答案解析】试题16~18[分析] 数据库的并发操作带来丢失更新问题,不一致分析问题(读过时的数据),依赖于未提交更新的问题等问题,处理并发控制的主要方法是采用封锁技术。采用封锁的方法固然可以有效防止并发操作带来的问题,但封锁本身也会产生一些麻烦,最主要的就是“死锁”问题。所谓死锁即是多个用户申请不同封锁,由于申请者均拥有一部分封锁权而又需等待另外用户拥有的部分封锁而引起的永无休止的等待。死锁是可以避免的,目前数据库中预防死锁通常有两种方法,其分别是一次封锁法和顺序封锁法。
一次封锁法是指每个事物在操作时,必须一次将所有要使用的数据全部加锁,否则就不能继续执行。这样就避免了部分封锁而引起的永无休止的等待。
顺序封锁法是指预先对数据对象规定一个封锁顺序,所有事物都按这个顺序实行封锁。这是一个预先设计好的顺序,可以有效避免死锁,但这样个过程不容易实现。
数据库系统中诊断死锁的方法与操作系统类似,一般使用超时法或事物等待图法。