數據庫系統(tǒng)概論第六章_第1頁
數據庫系統(tǒng)概論第六章_第2頁
數據庫系統(tǒng)概論第六章_第3頁
數據庫系統(tǒng)概論第六章_第4頁
數據庫系統(tǒng)概論第六章_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數據庫系統(tǒng)概論第六章第1頁,課件共48頁,創(chuàng)作于2023年2月第6章關系數據理論

數據庫設計的一個最基本的問題是怎樣建立一個好的數據庫模式。Codd提出了一套關系數據庫設計理論—關系的規(guī)范化理論,根據現實世界存在的數據依賴進行關系模式的規(guī)范化處理,從而得到一個好的數據庫設計。第2頁,課件共48頁,創(chuàng)作于2023年2月6.1問題的提出1、問題的提出關系的描述:R(U,D,DOM,F)

關系是一個五元組。R為關系名,U為屬性集合,D為屬性組U中屬性所來自的域,DOM為屬性到域的映射集合,F為屬性間數據的依賴關系集合。第3頁,課件共48頁,創(chuàng)作于2023年2月6.1問題的提出(續(xù))2、數據依賴屬性間數據的依賴關系集合F是描述關系的元組語義,限定關系內部屬性與屬性間必須滿足的約束條件。數據依賴是通過一個關系中屬性間值的依賴與否體現出來的數據間的相互關系。最重要的數據依賴是函數依賴(FD)和多值依賴(MVD)第4頁,課件共48頁,創(chuàng)作于2023年2月6.1問題的提出(續(xù))實例:建立一個數據庫,涉及的對象包括:學生的學號(Sno)、所在系(Sdept)、系主任姓名(Mn)、課程名(Cname)、成績(Grade)。要求如下:(1)一個系有若干學生,但一個學生只屬于一個系;(2)一個系只有一個系主任;(3)一個學生可以選多門課程,每門課程有若干學生選修;(4)每個學生學習每一門課程有個成績。建立關系模式:

Student(SNO,SDEPT,MN,CNAME,GRADE)第5頁,課件共48頁,創(chuàng)作于2023年2月這個關系模式存在4個問題:(1)數據冗余:一個學生選修多門課程,所在系和系主任就重復存儲多次。(2)更新異常:當更新某些數據時,容易造成存儲數據的不一致性。如換系主任了,則必須修改與該系學生有關的每一個元組。(3)插入異常:若某個學生未學習課程,則他的信息就無法插入。(4)刪除異常:當要刪除學生所有成績時,將所有關于該學生的信息都刪除了。F={SNOSDEPT,SDEPTMN,(SNO,CNAME)G}第6頁,課件共48頁,創(chuàng)作于2023年2月原因:由存在于模式中的某些數據依賴引起的解決方法:通過分解關系模式來消除其中不合適的數據依賴F={SNOSDEPT,SDEPTMN,(SNO,CNAME)G}S(SNO,SDEPT)SG(SNO,CNAME,Grade)DEPT(SDEPT,MN)第7頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化

規(guī)范化理論正是用來改造關系模式,通過分解關系模式來消除其中不合適的數據依賴,以解決插入異常、刪除異常、更新異常和數據冗余問題。第8頁,課件共48頁,創(chuàng)作于2023年2月1、函數依賴定義設R(U)是屬性集U上的關系模式,X,Y是U的子集,若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數確定Y或Y函數依賴于X,記作XY。幾點說明:(1)函數依賴不是指關系模式R的某個或某些關系實例滿足的約束條件,而是指R的所有關系實例均要滿足的約束條件。(2)函數依賴和別的數據之間的依賴關系一樣,是語義范疇的概念。我們只能根據數據的語義來確定函數依賴。(3)數據庫設計者可以對其做出強制的規(guī)定。6.2規(guī)范化(續(xù))第9頁,課件共48頁,創(chuàng)作于2023年2月1、函數依賴基本術語和符號若XY,但YX,則稱XY是非平凡的函數依賴,反之稱為平凡的函數依賴。若XY,則X叫做決定因素若XY,YX,則記作XY若Y不函數依賴于X,則記作XY6.2規(guī)范化(續(xù))第10頁,課件共48頁,創(chuàng)作于2023年2月1、函數依賴三種函數依賴完全函數依賴:在R(U)中,如果XY,并且對于X的任何一個真子集X’,都有X’Y,則稱Y對X完全函數依賴,記作:XFY6.2規(guī)范化(續(xù))如關系SC(SNO,CNO,GRADE),(SNO,CNO)GRADESPJ(SNO,PNO,JNO,QTY),(SNO,PNO,JNO)QTYFF第11頁,課件共48頁,創(chuàng)作于2023年2月1、函數依賴三種函數依賴部分函數依賴:若XY,但Y不完全依賴于X,則稱Y對X部分函數依賴,記作:XPY6.2規(guī)范化(續(xù))如:SC(SNO,CNO,SNAME,GRADE)

(SNO,CNO)SNAME SNOSNAMEP第12頁,課件共48頁,創(chuàng)作于2023年2月1、函數依賴三種函數依賴傳遞函數依賴:在R(U)中,如果XY(YX),YX,YZ,則稱Z對X傳遞函數依賴。記作:X

Z6.2規(guī)范化(續(xù))傳遞如:S(SNO,SDEPT,MNAME)

SNOSDEPT,SDEPTMNAMESNOMNAME傳遞第13頁,課件共48頁,創(chuàng)作于2023年2月候選關鍵字:學號FD{學號姓名,學號出生日期,學號班號,班號系名,系名宿舍區(qū)}傳遞函數依賴:學號班號系名,學號系名班號系名宿舍區(qū),班號宿舍區(qū)學號系名宿舍區(qū),學號宿舍區(qū)傳遞傳遞傳遞分析關系模式:STUDENT(學號,姓名,出生日期,系名,班號,宿舍區(qū)),學生屬于某個班級,班級屬于某個系,其中一個系的學生分在一個宿舍區(qū),指出其候選關鍵字,函數依賴關系和存在的傳遞函數依賴。第14頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))2、碼定義:設K為R(U,F)中的屬性或屬性組合,若KU,則K為R的候選碼。若候選碼多于一個,則選定其中的一個為主碼。主屬性:包含在任何一個候選碼中的屬性(Primeattribute)。非主屬性:不包含在任何碼中的屬性稱為非主屬性或非碼屬性。定義:關系模式R中屬性或屬性組X并非R的碼,但X是另一個關系模式的碼,則稱X是R的外部碼。F第15頁,課件共48頁,創(chuàng)作于2023年2月關系模式S(Sno,Sdept,Sage),單個屬性Sno是碼,

SC(Sno,Cno,Grade)中,(Sno,Cno)是碼關系模式R(P,W,A),其中:P為演奏者,W為作品,A為聽眾。

(1)一個演奏者可以演奏多個作品

(2)某一作品可被多個演奏者演奏

(3)聽眾可以欣賞不同演奏者的不同作品碼為(P,W,A),即全碼(All-Key)

舉例:第16頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))3、范式(NF)關系數據庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同范式,目前主要有六種范式:

5NF4NFBCNF3NF2NF1NF一個低一級的范式,通過分解,可以轉換為若干個高一級范式的關系模式的集合,這個過程就叫規(guī)范化。第17頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))3、范式(NF)第一范式如果一個關系模式R的所有屬性都是不可分的基本數據項,則R1NF。即當表中每一行的每一列只具有唯一值時,表被認為是符合第一范式(1NF)的。

1NF是對關系的最低要求,不滿足1NF的關系是非規(guī)范化的關系。分解方法:非規(guī)范化關系轉化為滿足1NF的規(guī)范化關系方法很簡單,只要將表分別從橫向、縱向展開即可。第18頁,課件共48頁,創(chuàng)作于2023年2月舉例:規(guī)范化第19頁,課件共48頁,創(chuàng)作于2023年2月練習第20頁,課件共48頁,創(chuàng)作于2023年2月練習答案:第21頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))3、范式(NF)第二范式若R1NF,且每一個非主屬性完全函數依賴于碼,則R2NF。分解方法:找出并抹去函數依賴于碼的一部分而不是整個碼的屬性,將它們放到不同的表中。組合剩余的屬性。規(guī)范化過程:消除非主屬性對碼的部分函數依賴第22頁,課件共48頁,創(chuàng)作于2023年2月關系S(學號,系名,宿舍區(qū),課程號,成績)舉例:碼(學號,課程號)函數依賴集:(學號,課程號)成績學號系名學號宿舍區(qū)(學號,課程號)P系名(學號,課程號)P宿舍區(qū)解決:SC(學號,課程號,成績)S-L(學號,系名,宿舍區(qū))第23頁,課件共48頁,創(chuàng)作于2023年2月將下面的R關系規(guī)范化到第二范式練習:第24頁,課件共48頁,創(chuàng)作于2023年2月答案:練習:第25頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))SC(學號,課程號,成績)S-L(學號,系名,宿舍區(qū))仍然存在問題:(1)插入異常,若某個系因種種原因,還未有學生,則無法將該系的信息存入數據庫。(2)刪除異常,如果某個系的學生全部畢業(yè)了,在刪除該系學生的信息的同時,該系的信息也丟掉了。(3)數據冗余度大,每個系的學生都住在同一個地方,關于系的住處的信息卻重復出現。(4)修改復雜,當調整學生住處時,需要更改大量學生的屬性。出現上述問題的原因是因為在關系模式中仍然存在有傳遞函數依賴關系。第26頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))3、范式(NF)第三范式關系模式R(U,F)中若不存在這樣的碼X、屬性組Y及非主屬性Z(ZY),使得XY,YZ成立,則稱R(U,F)3NF。分解方法:發(fā)現和抹去函數依賴于不是主屬性的非主屬性。把它們放入不同的表格;組合剩余的屬性。3NF消除2NF的非主屬性的傳遞函數依賴第27頁,課件共48頁,創(chuàng)作于2023年2月2NF關系模式S-L(學號,系名,宿舍區(qū))中函數依賴:學號→系名,系名→學號學號→宿舍區(qū)學號→宿舍區(qū),

S-L中存在非主屬性對碼的傳遞函數依賴,則S-L∈3NF舉例:傳遞對S-L(SNO,SDEPT,SLOC)分解SD(SNO,SDEPT)DL(SDEPT,SLOC)第28頁,課件共48頁,創(chuàng)作于2023年2月將下面的R關系規(guī)范化到第三范式練習:第29頁,課件共48頁,創(chuàng)作于2023年2月答案:練習:第30頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))但是滿足3NF的關系模式也未必就是好的關系模式。如:關系模式STC(S,T,C)中,S表示學生,T表示教師,C表示課程。假設每個教師只教一門課,每門課由若干教師教,某一學生選定某門課,就對應一個固定的教師。函數依賴集:(S,T)C,(S,C)T,TC,SC(S,T)、(S,J)

都是候選碼。T,S只是主屬性,既不是候選碼,也不包含候選碼,原因是TC,SC,即主屬性C部分函數依賴于(S,T)。解決辦法是將STC分解。因此,引入一個新的范式,BCNF范式,稱為修正的或擴充的第三范式。第31頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))3、范式(NF)Boyce-Codd(BCNF)范式關系模式R(U,F)∈1NF,若X→Y且YX時X必包含碼,則R(U,F)∈BCNF。即:關系中的每一個決定因素都包含碼。一個滿足BCNF的關系模式有:所有非主屬性對每個碼都是完全函數依賴所有的主屬性對每一個不包含它的碼,也是完全函數依賴沒有任何屬性完全函數依賴于非碼的任何一組屬性第32頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))3、范式(NF)Boyce-Codd(BCNF)范式解決辦法:發(fā)現和抹去具有函數依賴關系主屬性把候選鍵的一部分和與它有函數依賴關系的屬性放入另外的表中組合剩余的項為一個表將關系STC分解為ST(S,T)TJ(T,C)第33頁,課件共48頁,創(chuàng)作于2023年2月配件管理表如下,其中一個倉庫由若干名管理員管理,一個管理員只管理一個倉庫,他們管理所在倉庫的所有商品。練習:第34頁,課件共48頁,創(chuàng)作于2023年2月答案:函數依賴集包括:職工編號→倉庫編號,(倉庫編號,配件編號)→數量,(職工編號,配件編號)→數量(職工編號,配件編號)→倉庫編號碼為:(職工編號,配件編號)練習:第35頁,課件共48頁,創(chuàng)作于2023年2月答案:練習:第36頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))3、范式(NF)多值依賴設關系模式R(U),X,Y,Z是U的子集,并且Z=U-X-Y。若對于R(U)的任一關系r,給定的一對(X,Z)值,存在一組Y的值與之對應,并且這組值僅僅決定于X值而與Z值無關,稱為Y多值依賴于X或者X多值決定Y,記作X→→Y。若X→→Y,若Z≠,則X→→Y是非平凡的多值依賴;若Z=,則是平凡的多值依賴。第37頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))3、范式(NF)多值依賴多值依賴與函數依賴的區(qū)別:(1)函數依賴中,x→y的有效性由x,y兩個屬性集決定;多值依賴x→→y不僅與x,y兩個屬性集有關,而要檢查其余屬性z。因此,多值依賴的有效性與屬性集的范圍有關。(2)若函數依賴x→y成立,則對于y的任一子集y’均有x→y’成立。而多值依賴卻不能確定。第38頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))3、范式(NF)第四范式關系模式R(U,F)1NF,如果對于R的每個非平凡多值依賴X→→Y(YX),X都含有碼,則稱R(U,F)∈4NF。4NF就是限制關系模式的屬性之間不允許有非平凡且非函數依賴的多值依賴。第39頁,課件共48頁,創(chuàng)作于2023年2月關系模式倉庫管理(倉庫號,管理員,商品名)中,(倉庫號,商品名)→→管理員,倉庫號→→管理員對于倉庫號→→管理員,決定因素倉庫號不包含碼,倉庫管理4NF缺點:數據冗余度大舉例:解決:分解為倉庫管理1(倉庫號,管理員)

倉庫管理2(倉庫號,商品名)第40頁,課件共48頁,創(chuàng)作于2023年2月4、規(guī)范化小結規(guī)范化的基本思想是逐步消除數據依賴中不合適的部分,使模式中的各關系模式達到某種程度的分離,即“單一化”的模式設計原則。讓一個關系去描述一個概念、一個實體或實體間的一種聯(lián)系。若多于一個概念就把它“分離”出去。

分解的基本原則:無損分解6.2規(guī)范化(續(xù))第41頁,課件共48頁,創(chuàng)作于2023年2月6.2規(guī)范化(續(xù))規(guī)范化過程概括:第42頁,課件共48頁,創(chuàng)作于2023年2月指出下列關系模式是第幾范式(1)R(X,Y,Z)FD={XYZ}(2)R(X,Y,Z)FD={YZ,XZY}(3)R(X,Y,Z)FD={YZ,YX,XYZ}(4)R(X,Y,Z)FD={XY,XZ}(5)R(W,X,Y,Z)FD={XZ,WXY}(6)R(A,B,C) FD={AB,BA,CA}練習1:第43頁,課件共48頁,創(chuàng)作于2023年2月假設某商業(yè)集團數據庫中有一關系模式R(商店編號,商品編號,數量,部門編號

溫馨提示

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

評論

0/150

提交評論