BC范式介绍

设关系模式R∈1NF,如果对于R的每个函数依赖X→Y,若Y不属于X,则X必含有候选码,那么R∈BCNF。
即为:对于关系模式R,若 R为第一范式,且每个属性不部分依赖于候选键也不传递依赖于候选键,那么称R是BC范式。

相对于第三范式,BC范式的要求更加严格。第三范式只是要求R为第二范式且非键属性不传递依赖于R的候选键,而BC范式则是对R的每个属性都做要求

由关系模式的定义可以得到如下结论,若R属于BCNF,则R有:
1.所有非主属性对每一个码都是完全函数依赖
2.所有的主属性对每一个不包含它的码,也是完全函数依赖。
3.没有任何属性完全函数依赖于非码的任何一组属性。
由于R∈BCNF,按定义排除了任何属性对码的传递依赖与部分依赖,所以R∈3NF。但是若R∈3NF,则R未必属于BCNF。

BC范式能够消除插入异常和删除异常。

你可能感兴趣的:(数据库)