《資料庫系統概念》第八章:關係資料庫設計
函式依賴理論
Armstrong定理(Armstrong's axiom)
- 自反律(reflexivity rule):若為一屬性集且,則成立
- 增補律(augmentation rule):若成立且為一屬性集,則成立。
- 傳遞律(transitivity rule):若和成立,則成立。
另外的一些規則:
- 合併律(union rule):若和成立,則成立。
- 分解律(decomposition):若成立,則和成立。
- 偽傳遞律(pseudotransitivity rule):若和成立,則成立。
邏輯蘊含(logically imply):
函式依賴集的閉包(closure):令為一個函式依賴集,的閉包是被邏輯蘊含的所有函式依賴的集合,記作。
函式確定(functionally determine):如果,我們稱屬性被函式確定。
屬性集的閉包:令為一個屬性集,我們將函式依賴集下被函式是確定的所有屬性的集合成為下的閉包,記為。
部分函式依賴(partial functional dependency):如果,存在是的一個子集使,得,則稱部分依賴於。
完全函式依賴(Full functional dependency):如果,不存在是的一個子集,使得,則稱
傳遞函式依賴(transitive functional dependency):如果,,則稱傳遞依賴於。
平凡的(trivial)函式依賴:如果,則稱這個函式依賴是平凡的。
無關屬性(extraneous attribute):如果去除函式依賴中的一個屬性不改變該函式依賴集的閉包,則稱該屬性是無關的。
正則覆蓋(canonical cover):的正則覆蓋是一個依賴集,使得邏輯蘊含中的所有依賴,並且邏輯蘊含中的所有依賴。此外必須既有如下性質:
- 中任何函式都不含無關屬性。
- 中函式依賴的左半部都是唯一的。
無損分解/無損連線分解(lossless decomposition):
- 和是的無損分解,當且僅當。
- 和是的無損分解,當且僅當是或的超碼。
有所分解/有損連線分解(lossy decomposition):不是無損分解的分解成為有損分解。
限定(restriction):令為模式上的一個函式依賴集,,……為的一個分解。在上的限定是中所有隻包含中屬性的函式依賴的集合。
保持依賴的分解(dependency-preserving decomposition):令如果,則該分解保持依賴。
保持依賴的演算法可以直接按照定義算,也可以按下圖所示:
正規化
原子域:一個域是原子的(atomic)當且僅當該域的元素是不可分的單元。
第一正規化(First Normal Form,1NF):如果關係模式R的所有屬性的域都是原子的,那麼R屬於第一正規化。
第二正規化(Second Normal Form,2NF):如果關係模式R屬於第一正規化,且所有非主屬性都完全依賴於候選碼,那麼R屬於第二正規化。
第三正規化(Second Normal Form,2NF):如果關係模式R屬於第二正規化,且所有非主屬性都不傳遞依賴於候選碼,那麼R屬於第三正規化。
Boyce-Codd正規化(Boyce-Codd Normal Form,BCNF):如果關係模式R屬於第三正規化,且主屬性不依賴於主屬性,那麼R屬於第三正規化。