數據庫系統概論課堂筆記-規範化理論2

一、閉包概念

1.函數依賴閉包

    關係模式R<U,F>中F邏輯蘊含的函數依賴的全體,記作F+。

2.屬性閉包

    屬性X關於F的閉包:屬性X屬於U,屬性X關於F的閉包爲函數依賴集F通過ArmStrong公理系統推導得到的A,其中X->A,通俗點就是X在ArmStrong公理系統下對函數依賴關係F能推出的所有屬性的集合,記作XF+。

    舉個例子:關係模式R(U,F),U=ABC,F={A->B,B->C},A的閉包AF+={ABC}。

二、ArmStrong公理系統

1.內容

    三個基礎推理規則A1,A2,A3,根據A1A2A3推出的三條推理規則。

2.完備性與有效性

    ArmStrong公理的完備性及有效性說明:'導出'與'蘊含'是兩個完全等價的概念,所以F邏輯蘊含的函數依賴的全體可以等價說成,由F出發藉助ArmStrong公理導出的函數依賴的集合。這也是ArmStrong公理的主要作用:求F的閉包,求屬性X在F上的閉包。

三、等價及極小函數依賴集

    每個函數依賴集均與一個極小函數依賴集等價,或者說任何一個函數依賴集F均可轉化爲一個極小函數依賴集。

    爲什麼要轉化成極小函數依賴集?因爲是爲了在函數依賴功能不變的情況下刪除函數依賴集F中複雜冗餘的依賴條件,這裏的'函數依賴功能不變'即爲等價的概念,函數依賴集之間的等價,通俗理解爲'函數依賴集所包含的函數依賴條件在功能上是相同的',詳細的等價定義請參考書本,在這裏不贅述。

四、應用

1.求某屬性X關於函數依賴集F的閉包

    原文地址:https://blog.csdn.net/Shishishi888/article/details/90213565

    對於該算法結束條件的解釋:如果X(i+1)=X(i)或者X(i+1)=U即函數結束,這裏拿求AF+爲例,要明白X存儲的是A在函數依賴集F下所能推導出的值,X集合是逐漸擴充的,如果X(i+1)=X(i),說明兩次推導的結果是一樣的,可以認爲推導的是最終結果了(X集合無法再擴充)。如果X(i+1)=U,說明U的全部屬性均能被A推導出,直接結束。

2.將函數依賴集F極小化

    原文地址:https://blog.csdn.net/Shishishi888/article/details/90214284

    對於改算法第二步和第三步的解釋:

       第二步:爲什麼要求閉包?

       答:對於AB-->C而言,如果通過計算A屬性的閉包,發現A屬性能夠自己推導出C,那麼說明B屬性即無需存在,那麼修改成A-->C即可。

       第三步:爲什麼要依次檢查每個語句?

       答:拿語句A-->D來說,如果把語句拿掉後,剩下的函數依賴集F仍能有A-->D,那麼說明A-->D語句在函數依賴集F中就是冗餘的,應該刪除掉。

   

 

   

發佈了31 篇原創文章 · 獲贊 7 · 訪問量 3487
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章