資料庫複習(四)

2021-09-24 16:15:14 字數 3624 閱讀 3507

關係模式的分解特性

第一正規化(1nf)

第二正規化(2nf)

第三正規化(3nf)

bcnf

參考部落格

設有關係模式r(u),x和y是屬性集u的子集,函式依賴(functional dependency,簡記為fd)

是形為x→y的乙個命題,只要r是r的當前關係,對r中任意兩個元組t和s,都有t[x]

=s[x]蘊涵t[y]

=s[y],

那麼稱fd x→y在關係模式r (u)中成立。 x→y讀作「x函式決定y」,或者「y函式依賴於x」。

定義4.2  設f是在關係模式r上成立的函式依賴的集合,x→y是乙個函式依賴。

如果對於r的每個滿足f的關係r也滿足x→y,那麼稱f邏輯蘊涵x→y,記為f ⊨x→y。

定義4.3 設f是函式依賴集,被f邏輯蘊涵的函式依賴全體構成的集合,

稱為函式依賴集f的閉包(closure),記為f+。即:

推理規則的正確性是指「從fd集f使用推理規則集推出的fd必定在f+中」,

完備性是指「f+中的fd都能從f集使用推理規則集匯出」。

也就是正確性保證了推出的所有fd是正確的,完備性保證了可以推出所有被蘊涵的fd。

這就保證了推導的有效性和可靠性。

定理4.5 fd推理規則是完備的。

如果關係模式r(u)上的兩個函式依賴集f和g,有f+

=g+,

則稱f和g是等價的函式依賴集。

設f是屬性集u上的fd集。如果fmin是f的乙個最小依賴集,

那麼fmin應滿足下列四個條件:

⑴ f+min =f+;

⑵ 每個fd的右邊都是單屬性;

⑶ fmin中沒有冗餘的fd;

(即f中不存在這樣的函式依賴x→y,使得f與f-等價)

⑷ 每個fd的左邊沒有冗餘的屬性。

(即f中不存在這樣的函式依賴x→y,x有真子集w,使得

f-∪與f等價)

注:無損分解與保持函式依賴的分解兩個特性之間沒有必然的聯絡

定義4.16  如果關係模式r的每個關係r的屬性值都是不可分的原子值,

那麼稱r是第一正規化(

first normal form,簡記為1nf)的模式。

1nf是關係模式應具備的最起碼的條件,滿足1nf的關係稱為規範化的關係

否則稱為非規範化的關係。關聯式資料庫研究的關係都是規範化的關係。

定義4.17  對於fd w→a,如果存在x⊂w有x→a成立,那麼稱w→a是區域性依賴(a區域性依賴於w);

否則稱w→a是完全依賴(也稱為「左部不可約依賴」 )

定義4.18 如果a是關係模式r的候選鍵中屬性,那麼稱a是r的主屬性;否則稱a是r的非主屬性。

定義4.19 如果關係模式r是1nf,且每個非主屬性完全函式依賴於候選鍵,

那麼稱r是第二正規化(2nf)的模式。

如果資料庫模式中每個關係模式都是2nf,則稱資料庫模式為2nf的資料庫模式。

演算法4.4 分解成2nf模式集的演算法

設關係模式r(u),主鍵是w,r上還存在fd x→z,並且z是非主屬性和x是w的子集,

那麼w→z就是乙個區域性依賴。此時應把r分解成兩個模式:

r1(xz),主鍵是x;

r2(y),其中y=u-z,主鍵仍是w,外來鍵是x(

references r1)。

利用外來鍵和主鍵的連線可以從r1和r2重新得到r。

如果r1和r2還不是2nf,則重複上述過程,一直到資料庫模式中每乙個關係模式都是2nf為止。

定義4.20  如果x→y,y→a,且y↛x和a∉ y,那麼稱x→a是傳遞依賴(a傳遞依賴於x)。

定義4.21 如果關係模式r是1nf,且每個非主屬性都不傳遞依賴於r的候選鍵,

那麼稱r是第三正規化(3nf)的模式。如果資料庫模式中每個關係模式都是3nf,

則稱其為3nf的資料庫模式 。

演算法4.5 分解成3nf模式集的演算法

設關係模式r(u),主鍵是w,r上還存在fd x→z。

並且z是非主屬性,z不是x的子集,x不是候選鍵,這樣w→z就是乙個傳遞依賴。

此時應把r分解成兩個模式:

r1(xz),主鍵是x;

r2(y),其中y=u-z,主鍵仍是w,外來鍵是x(

references r1)。

利用外來鍵和主鍵相匹配機制,r1和r2通過聯接可以重新得到r。

如果r1和r2還不是3nf,則重複上述過程,一直到資料庫模式中每乙個關係模式都是3nf為止。

定理4.8 如果r是3nf模式,那麼r也是2nf模式。

證明:只要證明其逆否命題成立即可,即模式中區域性依賴的存在蘊涵著傳遞依賴即可。

設a是r的乙個非主屬性,k是r的乙個候選鍵,且k→a是乙個區域性依賴。那麼r中必存在某個k』⊂ k,

有k』→a成立。由於a是非主屬性,因此a∩kk』=φ。由k』⊂ k,可知 k』→k,但k→k』成立。

因而從k→k』 和k』→a可知k→a是乙個傳遞依賴。

區域性依賴和傳遞依賴是模式產生冗餘和異常的兩個重要原因。

定義4.23  如果關係模式r是1nf,且每個屬性都不傳遞依賴於r的候選鍵,那麼稱r是bcnf的模式。

如果資料庫模式中每個關係模式都是bcnf,則稱為bcnf的資料庫模式。

定理4.9 如果r是bcnf模式,那麼r也是3nf模式。

乙個好的模式設計方法應符合三條原則:表達性、分離性和最小冗餘性。 

表達性是指資料等價和語義等價問題,分別用無損分解和保持函式依賴來衡量。

分離性是將間接有聯絡的屬性放在不同的表中。

最小冗餘性是指分解後的模式個數和模式中的屬性總數盡可能最小。

資料庫複習(一)

資料庫複習(二)

資料庫複習(三)

資料庫複習(四)

資料庫複習 四 1 檢視 create view 建立檢視 定義乙個名稱 a 定義對應關係,檢視 不是真實的表,只能查資料,不能刪除資料 temp1 select from score where course id in 1,2 b 呼叫temp1 僅僅是把之前一張表的語句拿過來執行 select...

資料庫複習

這是本科資料庫課程的複習。考試內容主要是資料庫的基本概念,資料庫設計資料庫系統的優化和恢復。至於設計底層的資料庫管理系統原理,坑先挖了,日後補,是我計畫中的一門課程。目錄資料庫系統 一般由資料庫。資料庫管理系統 及其開發工具 應用系統 資料庫管理員構成。目的 儲存資訊並支援使用者檢索和更新所需的資訊...

資料庫複習

資料庫複習 2016年6月15日 21 34 main logical data model ldm 邏輯資料模型 1.邏輯資料模型的三要素 data structure 資料結構 data operation 資料操縱 data constraints 資料約束 2.關係模型的歷史 提出關係代數 ...