数据库系统概论学习攻略-----第十一章
一、封锁以及封锁协议
封锁:事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁。
封锁的基本类型:①排它锁(X锁)②共享锁(S锁)
一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。
二级封锁协议:在一级封锁协议基础上增加事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。
三级封锁协议:在一级封锁协议的基础上增加事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。
二、 活锁和死锁
如何避免活锁:先来先服务策略。
按请求封锁的先后次序对这些事务排队;该数据对象上的锁一旦释放,首先批准申请队列中第一个事务获得锁。
解决死锁的方法:1、预防死锁 2、死锁的诊断与解除。
三、 并发调度的可串行性
可串行化调度:多个事务的并发执行是正确的,当且仅当其结果与按某一次序穿行地执行这些事务时的结果相同,称这种调度策略为可串行化调度。