首页 > 编程知识 正文

bcnf范式消除了,bnf范式

时间:2023-05-03 14:59:05 阅读:15573 作者:269

3.5范式——bcnf范式到底是什么? 关于bcnf范例,通过查阅资料,我们理解为是——主键依赖的消除。 例如,仓库管理表具有以下属性(管理员编号、仓库编号、货物编号、货物数量),当每个管理员管理仓库时,会产生1 .仓库编号和货物编号

3.5范式——bcnf范式到底是什么?

关于bcnf范例,通过查阅资料,我们理解为是——主键依赖的消除。 例如,在仓库管理表中,如果管理员具有以下属性(管理员编号、仓库编号、货物编号、货物数量),并且每个管理员都管理着仓库,则会发生这种情况:

1 .仓库号和货号可以确定货物数量,仓库号和货号可以确定管理员号。

2 .管理员号和货号可以确定仓库号,管理员号和货号可以确定货物数量。

3 .仓库号可以确定管理员号。

? 3358 www.2c to.com/KF/ware/VC/' target=' _ blank ' class=' key link ' vcd4kphapgvtpjqupc9lbt 653 MD t1 LG x4 LRF V8 ns1is 1 uploadfile/coll files/2014 10 13/2014101309164360.jpg ' alt='

其中仓库号、管理员号、货号都是主属性,数量是非主属性,它们的关系遵循三种范式。 但是,不是卡介苗。 因为在主属性中,仓库编号可以推送管理员编号,管理员编号可以推送仓库编号。 他们之间有传达依存。 这不符合卡介苗。

做法是,分割表格,得到以下结果。 表1 (仓库编号、管理员编号); 表2 (管理员编号、货号、数量)。

但是,一种卡介苗范式会导致关系的丧失。 例如,有一个表,表示工厂工人的仪表。 (工厂编号、工人编号、零部件编号、数量)其关系如下。

1 .一个工人只能在一个车间工作,一个车间有多个工人。

2 .一个工人生产多种零部件,一个厂内零部件不重复。

其中,厂号、工人工号和零件号都是主属性,数量是非主属性,它们的关系符合三范式。 但是,“工厂编号”“零部件编号”可以给出“工人编号”以及“工人编号”可以给出“工厂编号”,他们的主要属性之间存在传递依赖,这样就不符合bcnf范式。

分解的方法是将表分割为2个表——表1 (员工编号、零部件编号、数量)的表二(员工编号、工厂编号)。 这样分解的话,“工厂编号零部件编号”输出“工人编号”的关系就会消失。

3.5范式已经结束,接下来是第四范式。

本文原创发布了php中文网。 转载请注明出处。 谢谢您的尊重。

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