關系數據庫設計理論_第1頁
關系數據庫設計理論_第2頁
關系數據庫設計理論_第3頁
關系數據庫設計理論_第4頁
關系數據庫設計理論_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

關系數據庫設計理論第1頁,共40頁,2023年,2月20日,星期三例如:產品報價數據庫第2頁,共40頁,2023年,2月20日,星期三第5章內容及要求5.1數據依賴(數據依賴對關系模式的影響;數據依賴的概念,包括函數依賴、平凡函數依賴和非平凡函數依賴、完全函數依賴和部分函數依賴、傳遞函數依賴、碼)5.2范式理論(范式、2NF、3NF、BCNF、多值依賴、4NF。關系模式的規(guī)范化;各種范式小結和規(guī)范化步驟。)5.3關系模式的分解(模式分解的準則;無損連接性;保持函數依賴;模式分解的算法;)5.4小結5.5習題第3頁,共40頁,2023年,2月20日,星期三5.1數據依賴數據依賴在關系模式中廣泛存在,影響巨大。恰當的數據依賴是必要的。但不必要的數據依賴會對關系模式產生不好的影響。進行數據庫設計時要深入分析數據間的依賴。本節(jié)主要介紹關系模式中的數據依賴的相關概念,分析數據依賴對關系模式的影響。第4頁,共40頁,2023年,2月20日,星期三5.1數據依賴5.1.1關系模式中的數據依賴5.1.2數據依賴分類5.1.3一個關系模式中的函數依賴5.1.4函數依賴對關系模式的影響5.1.5函數依賴的概念5.1.6平凡函數依賴和非平凡函數依賴5.1.7完全函數依賴和部分函數依賴5.1.8傳遞函數依賴、碼第5頁,共40頁,2023年,2月20日,星期三5.1.1關系模式中的數據依賴1.關系模式描述為:

R(U,D,DOM,F)

R為關系名。U屬性名集合。D為屬性組U中屬性所來自的域。DOM屬性向域的映象的集合。F為屬性間數據的依賴關系集合。2.數據依賴F:限定組成關系的各元組必須滿足的完整性約束條件。如屬性的取值范圍;或者屬性值間的相互關聯(即數據依賴)。3.關系模式的簡述為:R(U,F)第6頁,共40頁,2023年,2月20日,星期三5.1.2數據依賴分類1.關系模式中的數據依賴有多種,比較重要的是函數依賴、多值依賴、連接依賴。2.函數依賴:關系模式中屬性間普遍存在的函數依賴。例:student(sno,sname,ssex,sage,sdept)

該關系模式中存在以下函數依賴:

Sno—>sname,Sno—>ssex,Sno—>sdept。3.多值依賴:一門課由多個老師上,使用同一套參考書。4.連接依賴:關系與關系間往往存在聯系。第7頁,共40頁,2023年,2月20日,星期三5.1.3學校關系模式的函數依賴snocnamegradesdeptmname如學校數據庫模式:一個系有若干學生,一個學生只屬于一個系;一個系只有一個系主任;一個學生可以選修多門課程,每門課程有若干同學選修;每個學生所學的每門課程都有成績。假設學校數據庫模式僅由一個表構成。

student(sno,sdept,mname,cname,grade)各屬性為學號,所在系,系主任名,課程名,成績。關系中存在的數據依賴為:第8頁,共40頁,2023年,2月20日,星期三5.1.4函數依賴對關系模式的影響關系模式:student(sno,sdept,mname,cname,grade)存在一些問題:1.數據冗余太大。sdept,mname,cname重復保存。2.更新異常。3.插入異常。4.刪除異常。為什么會出現這些問題呢?因為存在不合適的數據依賴!第9頁,共40頁,2023年,2月20日,星期三snosdeptsloccnograde991101計算機一號樓00185991101計算機一號樓00280991102信息管理二號樓00292991102信息管理二號樓00378991103電氣工程一號樓00470991104工商管理三號樓00491991105工商管理三號樓00582第10頁,共40頁,2023年,2月20日,星期三5.1.5函數依賴的概念定義:設R(U)是一個關系模式,U是R的屬性集合,X,Y是U的子集。對于R(U)的任意一個可能的關系r,如果r中不存在兩個元組,它們在X上的屬性相同,而在Y上的屬性不同,則稱“X函數確定Y”或”Y函數依賴于X“,記作XY。說明:(1)對R中所有關系實例而言;(2)數據庫設計者可作強制規(guī)定,如姓名不能同名;(3)如XY,X稱為決定屬性集;(4)如XY,并且YX則記為XY;(5)若Y不函數依賴于X,記作X—\—>Y。第11頁,共40頁,2023年,2月20日,星期三5.1.6平凡函數依賴和非平凡函數依賴定義:在關系模式R(U),U是R的屬性集合,X,Y是U的子集,如果XY,但Y不包含于X,則稱XY是非平凡函數依賴,若Y包含于X,則稱XY是平凡函數依賴。說明:(1)對任一關系模式,平凡函數依賴必然成立。(2)本節(jié)只討論非平凡函數依賴。(3)非平凡函數依賴易產生問題。

snocnocnamegrade第12頁,共40頁,2023年,2月20日,星期三5.1.7完全函數依賴和部分函數依賴定義:在關系模式R(U),U是R的屬性集合,X,Y是U的子集。如果XY,并且對于X的任何一個真子集X1,都有X1——|Y,,則稱“Y完全函數依賴于X”,記作X—fY。若XY,但Y不完全函數依賴于X,則稱Y部分函數依賴X,記作X—PY。說明:(1)部分函數依賴易產生問題。(2)完全函數依賴中,X為決定屬性,Y為非決定屬性。第13頁,共40頁,2023年,2月20日,星期三5.1.8傳遞函數依賴,碼傳遞函數依賴定義:在關系模式R(U),如果XY,Y——>Z,且Y不包含于X,Y——\X,則稱“Z傳遞函數依賴于X”,記作X——>>Z。碼定義:設K為關系模式R(U,F)中的屬性或屬性組。若KU,則稱K是一個候選碼。若關系模式R有多個候選碼,則選定其中的一個為主碼。碼、候選碼、主碼、外部碼。第14頁,共40頁,2023年,2月20日,星期三5.2范式理論范式:是指符合某一級別的關系模式的集合。目前主要有6種范式:

1NF>2NF>3NF>BCNF>4NF>5NF6種范式的規(guī)范化程度依次增強,滿足后一種范式的關系模式必然滿足前一種范式。本節(jié)主要講述這六種范式的特點。第15頁,共40頁,2023年,2月20日,星期三5.2范式理論5.2.11NF及存在的問題5.2.22NF及存在的問題5.2.33NF及存在的問題5.2.4BCNF及存在的問題5.2.54NF及存在的問題5.2.65NF5.2.7學校管理數據庫分析5.2.8STC數據庫分析第16頁,共40頁,2023年,2月20日,星期三5.2.11NF及存在的問題1NF定義:如果一個關系模式R的所有屬性的值都是不可分的基本數據項值,則R∈1NF。非規(guī)范化的關系SC0學號姓名課程名成績991101李玉英語85計算機90991102楊羚英語73計算機94991103張山英語76計算機85第17頁,共40頁,2023年,2月20日,星期三滿足1NF的關系SC1學號姓名課程名成績991101李玉英語85991101李玉計算機90991102楊羚英語73991102楊羚計算機94991103張山英語76991103張山計算機85第18頁,共40頁,2023年,2月20日,星期三1NF及存在的問題滿足1NF的關系模式并不一定是一個好的關系模式。SLC(sno,sdept,sloc,cno,grade)主碼(主屬性)為(sno,cno)。snosdeptsloccnograde991101計算機一號樓00185991101計算機一號樓00280991102信息管理二號樓00292991102信息管理二號樓00378991103電氣工程一號樓00470991104工商管理三號樓00491991105工商管理三號樓00582第19頁,共40頁,2023年,2月20日,星期三1NF及存在的問題該模式存在非主屬性對主碼的部分函數依賴和傳遞函數依賴。假定一個學生只在一個系學習,一個系只在同一棟樓內。該模式中存在以下三個問題。數據冗余太大;更新異常;插入異常;刪除異常。slocsnocnosdeptgrade第20頁,共40頁,2023年,2月20日,星期三5.2.11NF關系模式的分解對SLC(sno,sdept,sloc,cno,grade)分解,變?yōu)椋?/p>

SL(sno,sdept,sloc)SC(sno,cno,grade)分解后,去掉了非主屬性sdept、sloc對碼的部分函數依賴。snosnosdeptslocsdeptsloc第21頁,共40頁,2023年,2月20日,星期三1NF關系模式的分解snosdeptsloc991101計算機一號樓991102信息管理二號樓991103電氣工程一號樓991104工商管理三號樓991105工商管理三號樓snocnograde99110100185991101002809911020029299110200378991103004709911040049199110500582

SL(sno,sdept,sloc)SC(sno,cno,grade)第22頁,共40頁,2023年,2月20日,星期三5.2.22NF及存在的問題定義:若關系模式R∈1NF,并且每一個非主屬性都完全函數依賴于R的碼,則稱R∈2NF。即不存在非主屬性對碼的部分函數依賴。如果碼中只包含一個屬性且屬于1NF,則R必屬于2NF。SLC分解后的SL和SC關系模式都屬于2NF。分解后異常情況減少。但關系模式SL(sno,sdept,sloc)仍存在操作異常:冗余大,更新異常,插入異常,刪除異常的情況。其原因是還存在sloc對sno的傳遞函數依賴第23頁,共40頁,2023年,2月20日,星期三5.2.22NF的分解對SL(sno,sdept,sloc)作進一步的分解,去掉sloc對sno傳遞依賴:

SD(sno,sdept)DL(sdept,sloc)snosdeptslocsnosdeptslocsdept第24頁,共40頁,2023年,2月20日,星期三這時,SD和DL的函數依賴是正常的。分解后在一定程度上解決了:數據冗余大、更新異常、插入異常、刪除異常的情況。snosdeptsloc991101計算機一號樓991102信息管理二號樓991103電氣工程一號樓991104工商管理三號樓991105工商管理三號樓snosdept991101計算機991102信息管理991103電氣工程991104工商管理991105工商管理sdeptsloc計算機一號樓信息管理二號樓電氣工程一號樓工商管理三號樓SD(sno,sdept)DL(sdept,sloc)第25頁,共40頁,2023年,2月20日,星期三5.2.33NF及存在的問題定義:若關系模式R<U,F>中不存在候選碼X,屬性組Y,以及非主屬性Z(Z不包含于Y),使得XY,YZ和Y—\X成立,則R∈3NF。若R∈3NF,則R的每一個非主屬性既不部分函數依賴于候選碼,也不傳遞函數依賴于候選碼。

SD(sno,sdept),DL(sdept,sloc)屬于3NF。但3NF并不一定就是一個好的關系模式。它并不能完全消除異常情況和數據冗余。第26頁,共40頁,2023年,2月20日,星期三5.2.7學校管理數據庫的函數依賴GSNOCNDNDM第27頁,共40頁,2023年,2月20日,星期三5.2.7函數依賴的變換SNOCNGSC:SNODNDNDMSD:D:GSNOCNDNDMUN:fpptDNDMSNOSD:t第28頁,共40頁,2023年,2月20日,星期三5.3關系模式的規(guī)范化基本思想是逐步消除數據領帶中不合適的部分,使模式中的各關系模式達到某種程度的“分解”,即采用“一事一地”的模式設計原則,讓一個關系描述一個概念、一個實體或者實體間的一種聯系。即“概念單一化”。第29頁,共40頁,2023年,2月20日,星期三5.3關系模式的規(guī)范化5.3.1規(guī)范化步驟5.3.2關系模式的分解的準則5.3.3一個關系模式分解的探討5.3.4無損連接性5.3.5保持函數依賴5.3.6學生成績登記表分析第30頁,共40頁,2023年,2月20日,星期三5.3.1規(guī)范化步驟1NF2NF3NFBCNF4NF5NF消除非主屬性對碼的部分函數依賴消除非主屬性對碼的傳遞函數依賴消除主屬性對碼的部分和傳遞函數依賴消除多值依賴消除連接依賴消除決定屬性集非碼非平凡函數依賴第31頁,共40頁,2023年,2月20日,星期三5.3.2關系模式的分解的準則要保證分解后的關系模式與原關系模式等價。有三種標準:(1)分解具有無損連接性。(2)分解要保持函數依賴。(3)分解既要保持函數依賴,又解要保持無損連接性。第32頁,共40頁,2023年,2月20日,星期三5.3.3一個關系模式分解的探討關系模式:SL(sno,sdept,sloc)分解方法有:方法一:SN(sno),SD(sdept),SO(sloc)丟失了很多有用的信息,分解不能保持函數依賴,不具有無損連接性。方法二:NL(sno,sloc),DL(sdept,sloc)分解能保持函數依賴,但不具有無損連接性。方法三:ND(sno,sdept),NL(sno,sloc)分解具有無損連接性,但不能保持函數依賴。方法四:ND(sno,sdept),DL(sdept,sloc)分解既能保持函數依賴,又具有無損連接性。第33頁,共40頁,2023年,2月20日,星期三

5.3.4無損連接性設關系模式R(U,F)被分解為若干個關系模式R1(U1,F1),R2(U2,F2)…..Rn(Un,Fn),(其中U=U1∪U2……∪Un,且不存在Ui包含于Uj中,Ri為F在Ui上的投影),若R與R1,R2..…Rn自然連接的結果相等,則稱關系模式R的分解具有無損連接性。只有具有無損連接性的分解才能保證不丟失信息。例如方法三:ND(sno,sdept),NL(sno,sloc)分解具有無損連接性,但不能保持函數依賴。第34頁,共40頁,2023年,2月20日,星期三5.3.5保持函數依賴設關系模式R(U,F)被分解為若干個關系模式R1(U1,F1),R2(U2,F2)…..Rn(Un,Fn),(其中U=U1∪U2……∪Un,且不存在Ui不包含于Uj中,Ri為F在Ui上的投影),若F所邏輯蘊含的函數依賴一定也由分解得到的某個關系模式中的函數依賴Fi所邏輯蘊含,則稱關系模式R的分解具有保持函數依賴。方法四:ND(sno,sdept),DL(sdept,sloc)分解既能保持函數依賴,又具有無損連接性。第35頁,共40頁,2023年,2月20日,星期三5.3.6學生成績登記表分析學號姓名性別專業(yè)年級課程成績課號課名學時學分教師師號成績S1S2張三李四男女CSCS9899C1C2C3C4C5C1DBDSOSMAPHDB6060801209060334653趙錢孫李周趙M1M9M4M7M2M1907085907586如何對該關系模式進行分解呢?(見作業(yè)附件)第36頁,共40頁,2023年,2月20日,星期三5.4小結優(yōu)秀的DB設計是DBS應用成功的基石。RDB邏輯設計以RDB規(guī)范化理論為指導。不合理數據依賴會產生冗余度大、插入修改刪除異常。數據依賴分函數依賴、多值依賴和連接依賴。規(guī)范化就是消除關系模式中存在的不合適的數據依賴。1NF→2NF消除非主屬性對侯選碼的部分函數依賴2NF→3NF消除非主屬性對侯選碼的傳遞函數依賴3NF→BCNF消除主屬性對侯選碼的部分和傳遞函數依賴BCNF→4NF消除非平凡且平函數依賴的多值依賴4NF→5NF消除不是有候選碼所蘊含的連接依賴規(guī)范化

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論