判斷是不是 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