資料庫複習之規範化理論

2022-04-12 08:02:39 字數 2778 閱讀 4358

宣告:本文為作者複習資料庫課程時簡單記錄的筆記,如有錯誤之處,敬請指出,謝謝。

1.乙個關係模式是乙個五元組,形如r(u,d,dom,f)。其中d、dom與模式設計關係不大,可以看作三元組r。

2.資料依賴:乙個關係內部屬性與屬性之間的一種約束關係。最重要的是函式依賴(fd)多值依賴(mvd),還有乙個叫連線依賴。

3.分析關係模式常見問題:

1.函式依賴:(概念省略,x、y是屬性組u的子集)x函式確定y或y函式依賴於x,記作x→y。例如:系號→系名,學號→姓名。

(1)函式依賴不是指關係模式r中的某些關係滿足的約束條件,而是指r上的一切關係都要滿足的約束條件。函式依賴關係的存在與時間無關,而只與資料之間的語義規定有關。 函式依賴的存在與時間無關,只與資料之間的語義定義有關。

(2)函式依賴的基本性質:擴張性,投影性,合併性,分解性,

2.非平凡的函式依賴x→y:x→y,但y不包含於x。預設我麼討論的都是非平凡的函式依賴。

3.平凡的函式依賴x→y:x→y,但y包含於x。必然成立(好像是廢話)。

4.若x→y,則稱x為這個函式依賴的決定屬性組,也稱決定因素,y為依賴因素

。5.完全函式依賴:在r(u)中,如果x → y,並且對於x的任何乙個真子集x』,都有x』 /→ y,則稱y對x完全函式依賴。記作x f→ y。

推論:單一決定因素一定是完全函式依賴。

例:(學號,課程號)→成績

6.部分函式依賴:在r(u)中,如果x→y,且y不完全函式依賴於x,則稱y對x部分函式依賴。記作x p→ y。

例:(學號,課程號)→課程名  (因為課程號→課程名,而課程號是(學號,課程號)的真子集)

7.傳遞函式依賴:在r(u)中,如果x→y(y不包含於x),y /→ x,y→z(z不包含於y),則稱z對x傳遞函式依賴。記為x 傳遞(t)→ z。

注:條件中要有y /→ x,是因為如果y→ x,則y←→ x,則x直接→ z,屬於直接函式依賴,而非間接。

例:系號→系名,系名→系主任名。

8.候選碼:設k為r中的屬性或屬性組合,若k f→ u,則稱k為r的候選碼(候選鍵)。(即u完全依賴於k)。

9.超碼:若u部分依賴於k,即k p→ u,則稱k為超碼(超鍵)。候選碼是最小的超碼

10.候選碼可能多於乙個,可選其中乙個作為主碼。包含在任何乙個候選碼中的屬性稱為主屬性;不包含在任何乙個候選碼中的屬性稱為非主屬性(非碼屬性)。最簡單的情況,單個屬性是碼(主碼或候選碼);最極端的情況,整個屬性組u是碼,稱為全碼。(主碼and候選碼都簡稱碼)

11.關係模式r中的屬性或屬性組x不是r的碼,但x是另乙個關係模式的碼,則稱x為r的外部碼(外碼)

12.第一正規化(1nf):每乙個分量必須是不可分的資料項(關係中每個屬性都是不可再分的簡單項)。

13.第二正規化(2nf):若r滿足第一正規化,且每乙個非主屬性

完全函式依賴於任何乙個候選碼。

推論:候選碼為單屬性或者全碼,則屬於2nf。

特點:不存在

非主屬性對候選碼的部分函式依賴。

1nf→2nf:消除非主屬性對候選碼的部分函式依賴,把部分函式依賴投影出來單獨成表。(一事一表)

14.第三正規化(3nf):若r滿足第二正規化,且它的每乙個非主屬性都不傳遞依賴於任何候選碼。

定義:關係模式r屬於第一正規化,若r中不存在這樣的碼x,屬性組y及非主屬性z(y不包含於z)是的x→y,y→z成立,y/→x,則稱r屬於3nf。

定義理解:3nf的定義由1nf推過來的,不太好理解,判定的話用上上行2nf推導過來的就可以了,這個定義同時也可以證明,若r屬於3nf,則r必屬於2nf。

特點:每乙個

非主屬性對候選碼

沒有部分函式依賴,也沒有傳遞函式依賴。

缺點:3nf只限制了非主屬性對鍵的依賴關係,而沒有限制主屬性對鍵的依賴。

2nf→3nf:消除非主屬性對鍵的傳遞函式依賴,把傳遞依賴投影出來單獨成表。(一事一表)

15.bcnf:關係模式r中,每乙個決定因素都包含r的乙個碼(候選鍵),則r屬於bcnf。

定義:關係模式r屬於第一正規化,若x→y(y不包含於x)時x必含有碼,則r屬於bcnf。

特點:排除任何屬性對候選碼的傳遞函式依賴和部分函式依賴。在函式依賴範疇內實現徹底分離,消除插入和刪除異常。

3nf→bcnf:消除原關係中主屬性對鍵的部分函式依賴和傳遞函式依賴。

推論:如果r屬於bcnf,則

定理:如果r屬於bcnf,則r屬於3nf一定成立。反之不一定成立,因為3nf的不徹底性(可能存在主屬性對碼的部分依賴和傳遞依賴)。

例:(s,j)→t,(s,t)→j,t→j。候選碼為(s,j)、(s,t),t是決定因素,但t不包含碼。

16.第四正規化4nf:限制關係模式的屬性之間不允許有非平凡且非函式依賴的多值依賴。(不要求)

17.乙個低一級正規化的關係模式可以通過模式分解轉換為若干個高一級正規化的關係模式集合,這個過程叫做規範化

總結:在實際應用中,最有價值的是3nf和bcnf,在進行關係模式的設計時,通常分解到3nf就可以了。

出處: 

本人github:

資料庫規範化理論 模式分解

先上傳乙個導圖作為整體概況 背景和保持函式依賴分解,有導圖就不再贅述,下面主要說說有損無損的判斷方法 通過題目說明 法展示 1.畫出 2.通過函式依賴把a和b調換位置 比如在分解後的成績表中 學號 姓名 可將b12改為a2,以次判斷分解三種模式,得出下列結果 當成績一行包含了所有的屬性後,即全部變為...

資料庫規範化

規範化 normalization 是資料庫系統設計中非常重要的乙個技術。資料庫規範化能夠讓資料庫設計者更好地了解組織內部當前的資料結構,最終得到一系列的資料實體。資料庫規範化通過對資料庫表的設計,可以有效降低資料庫冗餘程度。在進行資料庫規範化的時候,我們有一系列的步驟需要遵循。我們把這些步驟稱作正...

關聯式資料庫規範化理論 正規化

此篇博文是我的第一篇文章,在複習資料庫正規化部分的時候做的筆記。正規化指 規範化的關係模式,由於規範程度不同,產生了不同的正規化 乙個低一級的關係正規化通過模式分解可以轉換成若干高一級正規化的關係模式的集合。這個過程稱為關係模式的規範化。關係模式規範化的必要性 關係模式規範化,使之達到較高的正規化是...