数据库总结作业关系理论七

一级封锁协议是:事务T在修改数据之前必须先对其加X锁,直到事务结束才释放。

一级封锁协议可有效地防止“丢失更新”,并能够保证事务T的可恢复性。

二级封锁协议

二级封锁协议是:事务T对要修改数据必须先加X锁,直到事务结束才释放X锁;对要读取的数据必须先加S锁,读完后即可释放S锁。

二级封锁协议不但能够防止丢失修改,还可进一步防止读“脏”数据。但是由于二级封锁协议对数据读完后即可释放S锁,所以不能避免“不可重复读”错误。例如,表10.6所示的并发操作执行过程,遵从二级封锁协议,但发生了“不可重复读”错误。

三级封锁协议

三级封锁协议是事务T在读取数据之前必须先对其加S锁,在要修改数据之前必须先对其加X锁,直到事务结束后才释放所有锁。

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值