1. 程式人生 > >《資料庫系統概念》第八章:關係資料庫設計

《資料庫系統概念》第八章:關係資料庫設計

函式依賴理論


Armstrong定理(Armstrong's axiom)

  • 自反律(reflexivity rule):\alpha為一屬性集且\beta \subseteq \alpha,則\alpha \rightarrow \beta成立
  • 增補律(augmentation rule):\alpha \rightarrow \beta成立且\gamma為一屬性集,則\gamma \alpha \rightarrow \gamma \beta成立。
  • 傳遞律(transitivity rule):\alpha \rightarrow \beta\beta \rightarrow \gamma成立,則\alpha \rightarrow \gamma成立。

另外的一些規則:

  • 合併律(union rule):\alpha \rightarrow \beta\alpha \rightarrow \gamma成立,則\alpha \rightarrow \beta\gamma成立。
  • 分解律(decomposition):\alpha \rightarrow \beta\gamma成立,則\alpha \rightarrow \beta\alpha \rightarrow \gamma成立。
  • 偽傳遞律(pseudotransitivity rule):\alpha \rightarrow \beta\gamma \beta \rightarrow \delta成立,則\alpha \gamma \rightarrow \delta成立。

邏輯蘊含(logically imply):

如果函式依賴集F能推出函式依賴f,則稱fF邏輯蘊含。

函式依賴集的閉包(closure):F為一個函式依賴集,F的閉包是被F邏輯蘊含的所有函式依賴的集合,記作F^{+}

函式確定(functionally determine):如果\alpha \rightarrow B,我們稱屬性B\alpha函式確定。

屬性集的閉包:\alpha為一個屬性集,我們將函式依賴集F下被\alpha函式是確定的所有屬性的集合成為F\alpha的閉包,記為\alpha^{+}


部分函式依賴(partial functional dependency):如果X\rightarrow Y,存在X^{'}X的一個子集使,得X^{'}\rightarrow Y,則稱Y部分依賴於X

完全函式依賴(Full functional dependency):如果X\rightarrow Y存在X^{'}X的一個子集,使得X^{'}\rightarrow Y,則稱Y

完全依賴於X

傳遞函式依賴(transitive functional dependency):如果X\rightarrow YY\rightarrow Z,則稱Z傳遞依賴於X

平凡的(trivial)函式依賴:如果Y\subseteq X,則稱X\rightarrow Y這個函式依賴是平凡的。


無關屬性(extraneous attribute):如果去除函式依賴中的一個屬性不改變該函式依賴集的閉包,則稱該屬性是無關的。

正則覆蓋(canonical cover)F的正則覆蓋F_{c}是一個依賴集,使得F邏輯蘊含F_{c}中的所有依賴,並且F_{c}邏輯蘊含F中的所有依賴。此外F_{c}必須既有如下性質:

  • F_{c}中任何函式都不含無關屬性。
  • F_{c}中函式依賴的左半部都是唯一的。

 


無損分解/無損連線分解(lossless decomposition):

  • R_{1}R_{2}R的無損分解,當且僅當\prod R_{1}(R)\Join \prod R_{2}(R)=R
  • R_{1}R_{2}R的無損分解,當且僅當R_{1}\cap R_{2}R_{1}R_{2}的超碼。

有所分解/有損連線分解(lossy decomposition):不是無損分解的分解成為有損分解。


限定(restriction):F為模式R上的一個函式依賴集,R_{1}R_{2}……R_{n}R的一個分解。FR_{i}上的限定是F^{+}中所有隻包含R_{i}中屬性的函式依賴的集合F_{i}

保持依賴的分解(dependency-preserving decomposition):F^{'}=F_{1}\cup F_{2}\cup...\cup F_{n}如果F^{'^{*}}=F^{*},則該分解保持依賴。

保持依賴的演算法可以直接按照定義算,也可以按下圖所示:​​​

保持依賴性的驗證


正規化

原子域:一個域是原子的(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屬於第三正規化。