请输入您要查询的百科知识:

 

词条 bcnf
释义

BCNF是由Boyce和Codd提出的,比3NF又进了一步,通常认为是修正的第三范式.

所谓第三范式,定义是关系模式R<U,F>中若不存在这样的码X,属性组Y及非主属性Z,使得X—>Y,Y—>Z成立,(不存在Y—>X),则称R<U,F>为3NF.

即当2NF消除了非主属性对码的传递函数依赖,则称为3NF。

对3NF关系进行投影,将消除原关系中主属性对码的部分与传递依赖,得到一组BCNF关系。

BCNF定义,关系模式中,若X函数确定Y且Y不在X内时X必含有码,则此关系属于BCNF。

具有函数依赖集F的关系模式R属于BCNF的条件是,对所有F的闭包中形如

X->Y,下面至少有一个成立:

1X->Y是平凡的依赖。

2X是R的一个超码。

一个满足BCNF的关系模式有:

1 所有非主属性对每一个码都是完全函数依赖;

2 所有的主属性对每一个不包含它的码,也是完全函数依赖;

3 没有任何属性完全函数依赖于非码的任何一组属性。

由于R∈BCNF,按定义排除了任何属性对码的传递依赖与部分依赖,所以R∈3NF。但是若R∈3NF,则R未必属于BCNF。

例如:关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。每一个教师只教一门课。每门课有 若干个教师,某一学生选定某门课,就对应一个固定的教师。由语义可得到如下函数依赖:

(S,J)->T;(S,T)->j;T->J。

(S,J),(S,T)都是候选码。

STJ是3NF,因为没有任何非主属性对码传递依赖或部分依赖。但STJ不是BCNF关系,因为T是决定因素而T不包含码。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/1/11 12:15:04