参考答案和解析
正确答案:在对数据对象加锁时需要约定一些规则这些规则称为封锁协议。 一级封锁协议:是事务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。三级封锁协议防止了丢失修改和读“脏”数据。 封锁机制作为并发控制的重要手段,利用封锁的特性和封锁协议,再加上并发操作保证事务的隔离性,用正确的方式调度并发操作,使一个用户事务的执行不受其它事务的干扰,从而避免数据的不一致。
更多“什么是封锁协议?不同级别的封锁协议的主要区别是什么?如何用封锁机制保证数据的一致性? ”相关问题
  • 第1题:

    2、()不能保证可重复读和不读“脏”数据。

    A.一级封锁协议

    B.二级封锁协议

    C.三级封锁协议

    D.所有封锁协议


    一级封锁协议

  • 第2题:

    7、对于三级封锁协议,以下表述不正确的是?

    A.一级封锁协议可以防止读“脏”数据

    B.二级封锁协议可以防止读“脏”数据和丢失修改

    C.三级封锁协议可防止读“脏”数据、丢失修改和不可重复读

    D.封锁协议级别越高,一致性程度越高


    一级封锁协议可以防止读 “脏”数 据

  • 第3题:

    三、简答题 (本大题共4小题,每小题5分,共20分) 1.什么是基本表?什么是视图?两者的区别和联系是什么? 2.数据库的完整性概念与数据库的安全性概念有什么区别和联系? 3.简述事务的概念及事务的4个特性。恢复技术能保证事务的哪些特性? 4.简述三级封锁协议的内容以及不同级别的封锁协议能解决哪些数据不一致性问题?


    (1)家庭教育、社会教育和学校教育互相配合,利于发挥教育的整体作用。 (2)家庭教育、社会教育和学校教育密切配合,利于教育方向的统一。 (3)家庭教育、社会教育和学校教育协调配合,利于教育互补作用的发挥。

  • 第4题:

    在一级封锁协议基础上,要求事务读取数据时加共享锁,事务结束时释放,这是()。

    A.3级封锁协议

    B.2级封锁协议

    C.1级封锁协议

    D.4级封锁协议


    2级封锁协议

  • 第5题:

    【简答题】不同封锁协议与系统一致性级别的关系是什么?


    不同的封锁协议对应不同的一致性级别。 一级封锁协议可防止丢失修改,并保证事务 T 是可恢复的。在一级封锁协议中,对读数据是不加 S 锁的,所以它不能保证可重复读和不读 “ 脏 ” 数据。 二级封锁协议除防止了丢失修改,还可进一步防止读 “ 脏 ” 数据。在二级封锁协议中,由于读完数据后立即释放 S 锁,所以它不能保证可重复读。 在三级封锁协议中,无论是读数据还是写数据都加长锁,即都要到事务结束时才释放封锁。所以三级封锁协议除防止了丢失修改和不读 “ 脏 ” 数据外,还进一步防止了不可重复读。