判断是不是 3NF 的条件: 对于 R 上的每一个函数依赖 X->A (X 是关系 R 属性的一个子集,
A 是 R 的一个属性) ,如下条件中的一个成立:
1 X ∈ A
2 X 是超码
3 A 是 R 的码的一部分函数
判断是不是 BCNF 的条件:对于 R 上的每一个函数依赖 X->A(X 是关系 R 属性的一个子
集,A 是 R 的一个属性) ,如下条件中的一个成立:
1 X ∈ A
2 X 是超码blog
例子以下:im
(a).
{ACD}+
= {A、C、D、B、E}
{BCD}+
={B、C、D、E、A}
{EDC}+
={E、D、C、A、B}
ACD、BCD、CDE are keys for R.img
(b)判断是不是 3NF 的条件: 对于 R 上的每一个函数依赖 X->A (X 是关系 R 属性的一个子集,
A 是 R 的一个属性) ,如下条件中的一个成立:
1 X∈ A
2 X 是超码
3 A 是 R 的码的一部分
A->B 知足条件 3
BC->E 知足条件 3
ED->A 知足条件 3
因此 R 是 3NF
(c)判断是不是 BCNF 的条件:对于 R 上的每一个函数依赖 X->A(X 是关系 R 属性的一个子
集,A 是 R 的一个属性) ,如下条件中的一个成立:
1 X ∈ A
2 X 是超码
A->B 不知足 1&2
BC->E 不知足 1&2
ED->A 不知足 1&2
因此 R 不是 BCNFco