[范式和功能依赖]3NF和BCNF之间的差异
更新时间:2019-05-24 00:25 浏览:721 关闭窗口 打印此页
*本文中的代码表示候选代码,主要属性是组件代码的属性。
请简要介绍一些概念。
图1
图2
单独,我认为3NF和BCNF不能很好地相互理解。
书中说BCNF是一个完美的3NF。
从图2中可以明显看出,1到3 NF是属性和非主代码之间关系的规范。
主要属性之间的关系不是标准化的。
如果组件代码的主要属性之间存在部分功能或传递函数依赖关系,则有人说它是超级代码而不是代码。
弥生!
谁告诉你代码应该是一个?
例如,AB-C,BC-A,在AB,BC时刻是代码。换句话说,ABC是主要属性。
那么ABC之间的功能依赖性不在1到3 NF的约束范围内?
因此,必须有BCNF来限制关键特征之间的功能依赖性。
例如,R ={AB-C,BC-A,C-A},R的代码是AB,BC,因此主要属性是ABC,R是3 NF。
但是,R不是BCNF,因为函数取决于C-A,并且确定系数C不包含代码BC。


下一篇文章 :下一篇:一家三口在火中烧毁。