数据库原理与应用

一级封锁协议可以保证哪种数据不一致?二级封锁协议哪?三级封锁协议哪? 

题目

一级封锁协议可以保证哪种数据不一致?二级封锁协议哪?三级封锁协议哪? 

参考答案和解析
正确答案:一级封锁协议可以保证不丢失修改,但不能保证读“脏”数据和可重复读;二级封锁协议可以保证不丢失修改和不读“脏”数据,但不能保证可重复读;三级封锁协议可以保证不丢失修改,不读“脏”数据和可重复读。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

不但能够防止丢失修改,还能进一步防止读脏数据,但是不能防止不可重复读的封锁协议是______。

A.一级封锁协议

B.二级封锁协议

C.三级封锁协议

D.四级封锁协议


正确答案:B
解析:不但能够防止丢失修改,还可进一步防止读脏数据,但是不能防止不可重复读的封锁协议是二级封锁协议。

第2题:

要解决对数据库并发操作所带来的读“脏数据”问题,可以采用()

A. 一级封锁协议

B. 二级封锁协议

C. 三级封锁协议

D. 都可以


正确答案:BC

第3题:

(48)下列叙述中,不正确的是( )。

A)封锁是保证数据库一致性的常用方法

B)封锁协议限制了可能的调度数目

C)封锁自身会产生死锁问题

D)强两阶段封锁协议就是严格两阶段封锁协议


正确答案:D

(48)【答案】D)
【解析】严格两阶段封锁协议:除了要求封锁是两阶段之外,还要求事务持有的所有排他锁必须在事务提交之后方可释放。这个要求保证未提交事务所写的任何数据在该事务提交之前均以排他方式加锁,防止其他事务读取这些数据,两阶段封锁协议:要求事务提交之前不得释放任何锁。它旨在让冲突的事务尽可能的串行执行,这样的话,调度中的事务可以按其提交的顺序串行化,所以D)茂不正确。

第4题:

数据库中能保证不产生死锁的方法为()。



A.两段锁协议
B.一次封锁法
C.2级封锁协议
D.3级封锁协议

答案:B
解析:
一次封锁法要求每个事务必须一次将所有要使用的数据全部加锁,否则就不能继续执行。一次就将以后要用到的全部数据加锁,势必扩大了封锁的范围,从而降低了系统的并发度。降低并发度就意味着能保证不产生死锁。

第5题:

下列叙述中,正确的是( )。A.不遵循两段封锁协议的并发调度一定是不可串行的B.两级封锁协议可以保证数据的可重读性C.对某个数据对象加了X封锁,则还可以在该数据对象上加S封锁D.遵循两段封锁协议的并发事务一定不会发生死锁


正确答案:B
A,D的说法太过于绝对,不准确,C项对数据对象加了X封锁之后,则不能再加S封锁。

第6题:

能保证不产生死锁。

A.两段锁协议

B.一次封锁法

C.2级封锁协议

D.3级封锁协议


正确答案:B
解析:本题考查应试者对事务处理程序加锁协议的掌握。两段锁协议是指事务处理程序对数据进行读写操作前加锁,释放一个锁之后就不能再加锁,两段锁协议用来保证事务的可串行化(执行结果的正确性),但并不能保证产生死锁;一次封锁法是指事务处理程序在所有要进行读写操作的数据全部先加锁后再进行访问,在两段锁协议的基础上要求更严格,能保证不产生死锁;2级封锁协议是指事务处理程序在进行修改数据操作之前先对其加独占锁,直到事务处理程序结束前释放,在进行读取数据操作之前先对其加共享锁,读完后就释放,2级封锁协议可以防止丢失修改和读“脏”数据;3级封锁协议比是指事务处理程序在进行修改数据操作之前先对其加独占锁,直到事务处理程序结束前释放,在进行读取数据操作之前先对其加共享锁,直到事务处理程序结束前释放,比2级封锁协议更严格,可以防止丢失修改、读“脏”数据和不可重复读三种错误。除一次封锁法外,其他3个协议都是保证程序执行的正确性的,都可能产生死锁,但死锁问题可以由DBMS进行处理,而一次封锁法在实现上也困难,通常不采用。此题答案为B。

第7题:

什么是封锁协议?不同级别的封锁协议的主要区别是什么?如何用封锁机制保证数据的一致性?


正确答案:在对数据对象加锁时需要约定一些规则这些规则称为封锁协议。 一级封锁协议:是事务T在修改数据之前必须先对其加x锁直到事务结束才释放一级封锁协议可有效的防止丢失修改并能够保证事务T的可恢复性。一级封锁协议由于没有对数据进行加锁所以不能保证可重复读和不读“脏”数据。 二级封锁协议:是事务T对要修改的数据必须先加x锁直到事务结束才释放x锁;要读取的数据必须先加S锁读完后即可释放s锁。二级封锁协议能够防止丢失修改还可进一步防止读“脏”数据。 三级封锁协议:是事务T在读取数据之前必须先对其加S锁在要修改数据之前必须先对其加x锁直’到事务结束后才释放所有锁。由于三级封锁协议强调即使事务读完之后也不释放s锁从而使的别的事务无法更改数据A。三级封锁协议防止了丢失修改和读“脏”数据。 封锁机制作为并发控制的重要手段利用封锁的特性和封锁协议再加上并发操作保证事务的隔离性用正确的方式调度并发操作使一个用户事务的执行不受其它事务的干扰从而避免数据的不一致。
在对数据对象加锁时,需要约定一些规则,这些规则称为封锁协议。 一级封锁协议:是事务T在修改数据之前必须先对其加x锁,直到事务结束才释放,一级封锁协议可有效的防止丢失修改,并能够保证事务T的可恢复性。一级封锁协议由于没有对数据进行加锁,所以不能保证可重复读和不读“脏”数据。 二级封锁协议:是事务T对要修改的数据必须先加x锁,直到事务结束才释放x锁;要读取的数据必须先加S锁,读完后即可释放s锁。二级封锁协议能够防止丢失修改,还可进一步防止读“脏”数据。 三级封锁协议:是事务T在读取数据之前必须先对其加S锁,在要修改数据之前必须先对其加x锁,直’到事务结束后才释放所有锁。由于三级封锁协议强调即使事务读完之后也不释放s锁,从而使的别的事务无法更改数据A。三级封锁协议防止了丢失修改和读“脏”数据。 封锁机制作为并发控制的重要手段,利用封锁的特性和封锁协议,再加上并发操作保证事务的隔离性,用正确的方式调度并发操作,使一个用户事务的执行不受其它事务的干扰,从而避免数据的不一致。

第8题:

不但防止了丢失修改和不读“脏”数据.而且防止了不可重复读的封锁协议是----。

A.一级封锁协议

B.二级封锁协议

C.三级封锁协议

D.四级封锁协议


正确答案:C
解析:三级封锁协议强调即使事务读完数据A之后也不释放S锁,从而使别的事务无法更改数据。三级封锁协议不但防止了丢失修改和读“脏”数据,而且防止了不可重复读。

第9题:

可有效地防止丢失修改,并能保证事务T的可恢复性,但不能保证可重复读和不诌 “脏”数据的封锁协议是——。

A.一级封锁协议

B.二级封锁协议

C.三级封锁协议

D.四级封锁协议


正确答案:A
解析:一级封锁协议可有效地防止丢失修改,并能保证事务T的可恢复性。一级封锁协议是:事务T在修改数据R之前必须先加x锁,直到事务结束才释放。如果仅仅是读数据不对其修证,是不需要加锁的,所以不能保证可重复读和不读“脏”数据。

第10题:

要解决对数据库并发操作所带来的读“脏数据”问题,可以采用()。

  • A、一级封锁协议
  • B、二级封锁协议
  • C、三级封锁协议
  • D、都可以

正确答案:B,C