一级封锁协议:事务在修改数据R之前必须先对其加X锁,直到事务结束才释放。事务结束包括正常结束(COMMIT)和非正常结束(ROLLBACK)。一级封锁协议可以解决丢失更新问题。
二级封锁协议:在一级封锁协议的基础上,加上事务T在读数据R之前必须对其加S锁,读完后即可释放S锁。二级封锁协议可以解决读脏数据的问题。但不能保证可重复读。
三级封锁协议:在一级封锁协议的基础上,加上事务T在读数据R之前必须对其加S锁,直到事务结束才可释放S锁。三级封锁协议可在一二级封锁协议的基础上解决了不可重复读的问题。
两段封锁协议:指事务必须分两个阶段对数据项加锁和解锁。第一阶段是获得封锁,事务可以获得任何数据项上的任何类型的锁,但不能释放;第二阶段是释放封锁,事务可以释放任何数据项上的任何类型的锁,但不能
第三范式(3NF)属性不依赖于其它非主属性 [ 消除传递依赖 ]
如果关系模式R是第二范式,且每个非主属性都不传递依赖于R的候选键,则称R为第三范式模式。
满足第三范式(3NF)必须先满足第二范式(2NF)。第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。
例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在的员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。
第三范式(3NF):在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式。简而言之,第三范式就是属性不依赖于其它非主属性。
所谓传递函数依赖,指的是如果存在"A → B → C"的决定关系,则C传递函数依赖于A。
因此,满足第三范式的数据库表应该不存在如下依赖关系:
关键字段 → 非关键字段x → 非关键字段y
编辑推荐:
2012年计算机等级考试四级精选精练习题(1)
2012年计算机等级考试四级精选精练习题(2)
2012年计算机等级考试四级精选精练习题(3)