Boyce-Codd Normal Form (BCNF)
BCNF 在 3NF 基础上进一步要求每个决定因素都是候选键,是 3NF 的加强版。
用途
消除 3NF 仍存在的异常(主属性对候选键的部分/传递依赖)。
机制
对所有函数依赖 X→Y,X 必须是超键(包含候选键)。比 3NF 更严格:3NF 仅约束非主属性,BCNF 约束所有属性。BCNF 可能无法保持函数依赖。
用例
- 数据库设计
- 规范化
- 异常消除
BCNF 在 3NF 基础上进一步要求每个决定因素都是候选键,是 3NF 的加强版。
消除 3NF 仍存在的异常(主属性对候选键的部分/传递依赖)。
对所有函数依赖 X→Y,X 必须是超键(包含候选键)。比 3NF 更严格:3NF 仅约束非主属性,BCNF 约束所有属性。BCNF 可能无法保持函数依赖。