Normalization

數據庫功能依賴 BCNF 幫助

  • February 19, 2013

我了解大部分 BCNF 並且已經能夠用它完成許多問題,我只是在將它應用於以下情況時遇到了麻煩:

R(A,B,C,D,E) FD:{ A->D; BE->A; CD->E }

這是我到目前為止所擁有的:

Relationship1: (A,D)
Relationship2: (A,B,E)
Relationship3: (B,C,E)

但是,在此設置中,不考慮 CD->E 功能依賴性。是否應該在新的關係中考慮到這一點,還是應該將 D(甚至可能是 A?)添加到關係 3 中?

對於它的價值,我確定:

BCE+ = ABCDE
BE+ = ABDE
AC+ = ACDE

我只是不確定從這裡去哪裡。在此先感謝您的幫助。

查找“依賴關係保存”。

眾所周知的現像是,在分解關係模式時(沿著某些給定的 FD),某些其他 FD 可能變得無法表達。

在完整的邏輯設計中,必須將它們恢復為對數據庫的約束。然而,正規化理論不包括約束。規範化理論只處理關係模式,而不是它們之間的約束。

如果您首先在 CD->E 上分解(離開 ABCD / CDE),您仍然可以在 A->D 上進一步分解(離開 AD / ABC / CDE),但您現在將“失去” BE->A 依賴項。

引用自:https://dba.stackexchange.com/questions/35053