证明全码的关系必是3NF,也必是BCNF

发布网友 发布时间:2022-04-24 01:37

我来回答

3个回答

热心网友 时间:2022-04-09 22:45

如图:

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

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

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

扩展资料

设仓库管理关系表为StorehouseManage(仓库ID,存储物品ID,管理员ID,数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系:

(仓库ID,存储物品ID)→(管理员ID,数量) (管理员ID,存储物品ID)→(仓库ID,数量)

所以,(仓库ID,存储物品ID)和(管理员ID,存储物品ID)都是StorehouseManage的候选关键字,表中的唯一非关键字段为数量,它是符合第三范式的。但是,由于存在如下决定关系:

(仓库ID)→(管理员ID) (管理员ID)→(仓库ID)

即存在关键字段决定关键字段的情况,所以其不符合BCNF范式。

热心网友 时间:2022-04-10 00:03

如图:

关系模式R<U,F>∈1NF。若函数依赖集合F中的所有函数依赖X→Y(Y不包含于X)的左部都包含R的任一候选键,则R∈BCNF。换言之,BCNF中的所有依赖的左部都必须包含候选键。 [1] 

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

X->Y,则下面的两个条件至少有一个成立:

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

2、 X是R的一个超键。

扩展资料

将第一范式,第二范式化为第三范式的步骤:

(1)求出R的最小函数依赖集Fmin

(2)找出不在Fmin中出现的属性,并将这些属性从R中去掉,构成一个关系模式

(3)若Fmin中有一个函数依赖涉及R的全部属性,则R不能分解

(4)否则,若Fmin中有X->A,则分解应包含{XA};若有X->A1,X->A2....X->An均属于Fmin,则分解应包含{XA1A2...An}

热心网友 时间:2022-04-10 01:37

证明:采用反证法.

设R不是3NF

则必然存在如下条件的函数依赖

X→Y(Y→/X),Y→Z

其中X是键属性,Y是任意属性组,Z是非主属性

Z属于Y,这样Y→Z函数依赖的决定因素Y不包含候选键,

与BCNF范式的定义相矛盾,

所以如果R属于BCNF,则R也是3NF.

3NF一定是2NF

若关系模式R(U,F)∈3NF,则R∈2NF

扩展资料

例:如S1(SNO,SNAME,DNO,DNAME,LOCATION) 各属性分别代表学号,姓名,所在系,系名称,系地址。

关键字SNO决定各个属性。由于是单个关键字,没有部分依赖的问题,肯定是2NF。但这关系肯定有大量的冗余,有关学生所在的几个属性DNO,DNAME,LOCATION将重复存储,插入,删除和修改时也将产生类似以上例的情况。

原因:关系中存在传递依赖造成的。即SNO -> DNO。 而DNO -> SNO却不存在,DNO -> LOCATION, 因此关键字 SNO 对 LOCATION 函数决定是通过传递依赖 DNO -> LOCATION 实现的。也就是说,SNO不直接决定非主属性LOCATION。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com