首页 > 编程知识 正文

bcnf范式通俗解释,bcnf范式的决定因素是什么

时间:2023-05-06 08:22:16 阅读:15534 作者:3641

修正的第三范式(BCNF)

一个定义

如果满足以下条件,则单个数据库架构中的表t和函数依赖集f称为符合Boyce-Codd规范化(BCNF ) : 可以从f导出的函数依赖X-A都在t中,其中a是x中没有的单个属性,x必须是t的超级密钥。 如果数据库架构中的所有表都符合BCNF,则此数据库称为符合BCNF

二说明

BCNF是比第三范式更严格的范式。 关系模型中的所有属性(包括主属性和非主属性)都必须不传递依赖于任何候选项的关键字。 即,在关系表内功能上相互依赖的列的各列为关键字候补的情况下,应该满足BCNF。

BCNF实际上是在第三范式的基础上,进一步消除了主属性的传递依赖。

三例

有这样的物料管理表wpe(WNO、PNO、ENO、QNT )。 WnO表示仓库编号,PNO表示部件编号,ENO表示员工编号,QNT表示数量。

有以下限制:

一个仓库有多个员工

2一个员工只在一个仓库工作;

3每个仓库一个型号的部件由专人负责,但一个人可以管理几个部件;

4同一型号的零件可以分成几个仓库放置。

分析表中函数的依赖关系可以获得以下结果:

1无-无;

2(WnO,PNO )-QNT

3 (无,无) -无

4(Eno,PNO )-QNT

如所见,候选键可以是(ENO,PNO ); (WNO,PNO )。 因此,ENO、PNO、WNO都是主属性,QNT是非主属性。 很明显,非主属性直接依赖于候选密钥。 因此,该表满足第三范式。

看看主要属性。 (WNO,PNO )-ENO; 无与伦比。 很明显,WNO对候选结合(WNO,PNO )存在传递依赖,因此不符合BCNF。

解决此问题的方法是将其分为两个表:管理表EP(Eno、PNO、QNT )。 工作表ew(Eno,WNO )。 但是,这样会丢失函数相关(WNO,PNO )-ENO。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。