日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

数据库复习之规范化理论

發(fā)布時(shí)間:2025/3/20 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据库复习之规范化理论 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

聲明:本文為作者復(fù)習(xí)數(shù)據(jù)庫課程時(shí)簡單記錄的筆記,如有錯(cuò)誤之處,敬請指出,謝謝。

6.1問題的提出

1.一個(gè)關(guān)系模式是一個(gè)五元組,形如R(U,D,DOM,F)。其中D、DOM與模式設(shè)計(jì)關(guān)系不大,可以看作三元組R<U,F>。

  • 關(guān)系名R是符號化的元組定義;
  • U為一組屬性;
  • D為屬性組U中的屬性所來自的域;
  • DOM為屬性到域的映射;
  • F為屬性組U上的一組數(shù)據(jù)依賴

2.數(shù)據(jù)依賴:一個(gè)關(guān)系內(nèi)部屬性與屬性之間的一種約束關(guān)系。最重要的是函數(shù)依賴(FD)多值依賴(MVD),還有一個(gè)叫連接依賴

3.分析關(guān)系模式常見問題:

  • 數(shù)據(jù)冗余:重復(fù)出現(xiàn),浪費(fèi)空間。(盡可能少)
  • 更新異常:更新代價(jià)(最好沒有)
  • 插入異常:插入部分信息時(shí)無法插入(最好沒有)
  • 刪除異常:可能刪除了其他想要的數(shù)據(jù)(最好沒有)

6.2規(guī)范化

1.函數(shù)依賴:(概念省略,X、Y是屬性組U的子集)X函數(shù)確定Y或Y函數(shù)依賴于X,記作X→Y。例如:系號→系名,學(xué)號→姓名。

  (1)函數(shù)依賴不是指關(guān)系模式R中的某些關(guān)系滿足的約束條件,而是指R上的一切關(guān)系都要滿足的約束條件。函數(shù)依賴關(guān)系的存在與時(shí)間無關(guān),而只與數(shù)據(jù)之間的語義規(guī)定有關(guān)。 函數(shù)依賴的存在與時(shí)間無關(guān),只與數(shù)據(jù)之間的語義定義有關(guān)。

  (2)函數(shù)依賴的基本性質(zhì):擴(kuò)張性,投影性,合并性,分解性,

2.非平凡的函數(shù)依賴X→Y:X→Y,但Y不包含于X。默認(rèn)我么討論的都是非平凡的函數(shù)依賴。

3.平凡的函數(shù)依賴X→Y:X→Y,但Y包含于X。必然成立(好像是廢話)。

4.若X→Y,則稱X為這個(gè)函數(shù)依賴的決定屬性組,也稱決定因素,Y為依賴因素


5.完全函數(shù)依賴:在R(U)中,如果X → Y,并且對于X的任何一個(gè)真子集X’,都有X’ /→ Y,則稱Y對X完全函數(shù)依賴。記作X?F→ Y。

  推論:單一決定因素一定是完全函數(shù)依賴。

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

6.部分函數(shù)依賴:在R(U)中,如果X→Y,且Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴。記作X?P→ Y。

  例:(學(xué)號,課程號)→課程名  (因?yàn)檎n程號→課程名,而課程號是(學(xué)號,課程號)的真子集)

7.傳遞函數(shù)依賴:在R(U)中,如果X→Y(Y不包含于X),Y /→ X,Y→Z(Z不包含于Y),則稱Z對X傳遞函數(shù)依賴。記為X?傳遞(t)→ Z。

  注:條件中要有Y /→ X,是因?yàn)槿绻鸜→ X,則Y←→ X,則X直接→ Z,屬于直接函數(shù)依賴,而非間接。

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


8.候選碼:設(shè)K為R<U,F>中的屬性或?qū)傩越M合,若K?F→ U,則稱K為R的候選碼(候選鍵)。(即U完全依賴于K)。

9.超碼:若U部分依賴于K,即K?P→ U,則稱K為超碼(超鍵)。候選碼是最小的超碼

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

11.關(guān)系模式R中的屬性或?qū)傩越MX不是R的碼,但X是另一個(gè)關(guān)系模式的碼,則稱X為R的外部碼(外碼)


12.第一范式(1NF):每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng)(關(guān)系中每個(gè)屬性都是不可再分的簡單項(xiàng))。

13.第二范式(2NF):若R滿足第一范式,且每一個(gè)非主屬性完全函數(shù)依賴于任何一個(gè)候選碼。

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

  特點(diǎn):不存在非主屬性對候選碼的部分函數(shù)依賴

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

14.第三范式(3NF):若R滿足第二范式,且它的每一個(gè)非主屬性都不傳遞依賴于任何候選碼。

  定義:關(guān)系模式R<U,F>屬于第一范式,若R中不存在這樣的碼X,屬性組Y及非主屬性Z(Y不包含于Z)是的X→Y,Y→Z成立,Y/→X,則稱R屬于3NF。

  定義理解:3NF的定義由1NF推過來的,不太好理解,判定的話用上上行2NF推導(dǎo)過來的就可以了,這個(gè)定義同時(shí)也可以證明,若R屬于3NF,則R必屬于2NF。

  特點(diǎn):每一個(gè)非主屬性對候選碼沒有部分函數(shù)依賴,也沒有傳遞函數(shù)依賴。

  缺點(diǎn):3NF只限制了非主屬性對鍵的依賴關(guān)系,而沒有限制主屬性對鍵的依賴。

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

15.BCNF:關(guān)系模式R<U,F>中,每一個(gè)決定因素都包含R的一個(gè)碼(候選鍵),則R屬于BCNF。

  定義:關(guān)系模式R<U,F>屬于第一范式,若X→Y(Y不包含于X)時(shí)X必含有碼,則R屬于BCNF。

  特點(diǎn):排除任何屬性對候選碼的傳遞函數(shù)依賴和部分函數(shù)依賴。在函數(shù)依賴范疇內(nèi)實(shí)現(xiàn)徹底分離,消除插入和刪除異常。

  3NF→BCNF:消除原關(guān)系中主屬性對鍵的部分函數(shù)依賴和傳遞函數(shù)依賴。

  推論:如果R屬于BCNF,則

  • R中所有非主屬性對每一個(gè)碼都是完全函數(shù)依賴;
  • R中所有主屬性對每一個(gè)不包含它的碼,都是完全函數(shù)依賴;
  • R中沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性。
定理:如果R屬于BCNF,則R屬于3NF一定成立。反之不一定成立,因?yàn)?NF的不徹底性(可能存在主屬性對碼的部分依賴和傳遞依賴)。 例:(S,J)→T,(S,T)→J,T→J。候選碼為(S,J)、(S,T),T是決定因素,但T不包含碼。 16.第四范式4NF:限制關(guān)系模式的屬性之間不允許有非平凡且非函數(shù)依賴的多值依賴。(不要求) 17.一個(gè)低一級范式的關(guān)系模式可以通過模式分解轉(zhuǎn)換為若干個(gè)高一級范式的關(guān)系模式集合,這個(gè)過程叫做規(guī)范化。 總結(jié):在實(shí)際應(yīng)用中,最有價(jià)值的是3NF和BCNF,在進(jìn)行關(guān)系模式的設(shè)計(jì)時(shí),通常分解到3NF就可以了。

?

作者:?AlvinZH

出處:?http://www.cnblogs.com/AlvinZH/

本人Github:https://github.com/Pacsiy/JobDu

本文版權(quán)歸作者AlvinZH和博客園所有,歡迎轉(zhuǎn)載和商用,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利。

轉(zhuǎn)載于:https://www.cnblogs.com/AlvinZH/p/6856298.html

總結(jié)

以上是生活随笔為你收集整理的数据库复习之规范化理论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。