bcnf范式

       3.5范式——bcnf范式究竟是什么呢?

对于bcnf范式,通过查阅资料。我的理解是——主键依赖的去除。比方说:一个仓库管理的表格,有下面属性(管理员编号,仓库号,货物编号。货物数量)当中每一个管理员管理一个仓库,那么就会出现这种情况:

1.仓库号和货物编号能够确定货物数量,仓库号和货物编号能够确定管理员编号。

2.管理员编号和货物编号能够确定仓库号,管理员编号和货物编号能够确定货物数量。


3.仓库号能够确定管理员编号。


4.管理员编号能够确定仓库号。


当中,仓库号、管理员编号和货物编号都是主属性,数量是非主属性,它们的关系符合三范式。可是它不是bcnf,由于在主属性中,仓库号能够推出管理员编号。管理员编号能够推出仓库号。他们之间存在传递依赖。

这是不符合bcnf的。

         做法是。把表格拆分,得到例如以下结果:表一(仓库号。管理员编号);表二(管理员编号。货物编号,数量)。

         可是。有的bcnf范式会导致关系的丢失。比方:有个表示工厂工人计件的表格(车间号,工人编号。零件号,数量)当中的关系是:

1.      一个工人仅仅能在一个车间工作。一个车间有多名工人。


2.      一个工人生产多种零件,一个车间内的零件没有反复。


当中,车间号、工人工号和零件号都是主属性,数量是非主属性。它们的关系符合三范式。可是“车间号”+ “零件号”能够推出“工人工号”然后“工人工号”能够推出“车间号”,他们主属性之间有传递依赖,这种话是不符合bcnf范式的。

分解的办法是:将表格拆分成两个表格——表一(职工号,零件号。数量)。表二(职工号,车间号)。这样分解会将“车间号+零件号”推出“工人工号”的关系丢失。


3.5范式已经搞定。接下来就是第四范式。

转载于:https://www.cnblogs.com/jzdwajue/p/7295812.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值