BC范式
每个属性都不部分或传递依赖于码
BC范式,是指对于关系模式R,若 R为第一范式,且每个属性都不部分依赖于候选键也不传递依赖于候选键,则R称之为BC范式。
函数简介
解释一下:对于关系模式R,若 R为第一范式,且每个属性都不部分依赖于候选键也不传递依赖于候选键,那么称R是BC范式。
相对于第三范式,BC范式的要求更加严格。第三范式只是要求R为第二范式且非键属性不传递依赖于R的候选键,而BC范式则是对R的每个属性都做要求。
在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。
每一教师只教一门课。每门课由一名教师教,某一学生选定某门课,就确定了一个固定的教师。某个学生选修某个教师的课就确定了所选课的名称 : (S,J)→T,(S,T)→J,T→J
因为没有任何非主属性对码传递依赖或部分依赖,故STJ是3NF,但T是决定因素而T不包含码,故STJ不是BCNF关系。
关系模式的定义可以得到如下结论,若R属于BCNF,则R有:
1.所有非主属性对每一个码都是完全函数依赖
2.所有的主属性对每一个不包含它的码,也是完全函数依赖。
3.没有任何属性完全函数依赖于非码的任何一组属性。
由于R∈BCNF,按定义排除了任何属性对码的传递依赖与部分依赖,所以R∈3NF。但是若R∈3NF,则R未必属于BCNF。
参考资料
最新修订时间:2024-05-21 14:19
目录
概述
参考资料