數(shù)據(jù)庫原理及應(yīng)用課件:第3章 關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第1頁
數(shù)據(jù)庫原理及應(yīng)用課件:第3章 關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第2頁
數(shù)據(jù)庫原理及應(yīng)用課件:第3章 關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第3頁
數(shù)據(jù)庫原理及應(yīng)用課件:第3章 關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第4頁
數(shù)據(jù)庫原理及應(yīng)用課件:第3章 關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、數(shù)據(jù)庫原理及應(yīng)用第3章 關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論當(dāng)真正設(shè)計(jì)一個(gè)關(guān)系數(shù)據(jù)庫時(shí),需要考慮的問題還比較多,比如一個(gè)關(guān)系數(shù)據(jù)庫到底需要設(shè)計(jì)幾個(gè)關(guān)系模式才合適,什么樣的關(guān)系模式才是最優(yōu)化的,每一個(gè)關(guān)系應(yīng)該由哪些屬性組成等,這就需要對關(guān)系模式的一些性質(zhì)做更深入的研究。 主要包括:數(shù)據(jù)依賴、范式和關(guān)系模式的規(guī)范化設(shè)計(jì)方法。其中數(shù)據(jù)依賴研究數(shù)據(jù)之間的聯(lián)系;范式是關(guān)系模式的標(biāo)準(zhǔn);規(guī)范化設(shè)計(jì)方法則是實(shí)際設(shè)計(jì)時(shí)所遵循的基礎(chǔ)。 3.1 關(guān)系模式設(shè)計(jì)中的問題學(xué)號姓名課程號課程名020601張延C1程序設(shè)計(jì)020601張延C2模擬電路020601張延C5操作系統(tǒng)020602李波C1程序設(shè)計(jì)020602李波C3計(jì)算機(jī)英語0206

2、02李波C4數(shù)據(jù)庫原理020603王立C6網(wǎng)頁設(shè)計(jì)問題: (1)數(shù)據(jù)冗余。(2)操作異常。插入異常刪除異常更新異常3.2 數(shù)據(jù)依賴 定義3.1 設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是U的子集。若對于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依賴于X,記作XY。若XY,則X叫做決定因素(Determinant)。若XY,YX,則記作XY。若Y不函數(shù)依賴于X,則記作X Y 。 例3.1試找出學(xué)生關(guān)系(Sno,Sdept,Mname,Cname,Grade)中的函數(shù)依賴。 其中屬性分別表示學(xué)號(Sno),系名(Sdep

3、t),系負(fù)責(zé)人(Mname),課程名(Cname)和成績(Grade)。 SnoCnameSdeptMnameGrade學(xué)生關(guān)系的數(shù)據(jù)庫模式S(U,F(xiàn)):U = Sno,Sdept,Mname,Cname,GradeF = SnoSdept,SdeptMname,(Sno,Cname)Grade 設(shè)X和Y為關(guān)系模式R中的屬性或?qū)傩约?,一般存在如下推斷?guī)則:如果X和Y之間是1:1的聯(lián)系,則存在函數(shù)依賴XY和YX。如果X和Y之間是1:n的聯(lián)系,則存在函數(shù)依賴YX。如果X和Y之間是n:n的聯(lián)系,則X和Y之間不存在函數(shù)依賴。設(shè)X和Y為關(guān)系模式R中的屬性或?qū)傩约?,一般存在如下推斷?guī)則:R(U)=學(xué)號,姓

4、名學(xué)號和姓名之間的關(guān)系為1:1。記作:學(xué)號姓名R(U)=學(xué)號,課號學(xué)號和姓名之間的關(guān)系為1:n。記作:課號學(xué)號姓名學(xué)號3.2.2幾種特殊的函數(shù)依賴完全函數(shù)依賴與部分函數(shù)依賴定義3.2:在關(guān)系模式R(U)中,U是R的屬性集合,X,Y是U的子集。如果 XY,并且對于X的任何一個(gè)真子集X1,都有X1Y,則稱“Y完全函數(shù)依賴于X”,記作XfY。若XY,但Y不完全函數(shù)依賴于X,則稱Y部分函數(shù)依賴于X,記作XpY。3.2.2幾種特殊的函數(shù)依賴 共同確定的,其中Sno,Cname中的任何一個(gè)都不能單獨(dú)確定Grade, 故Grade完全函數(shù)依賴于(Sno,Cname)。而Sdept由Sno就可以單獨(dú)確定,故S

5、dept部分函數(shù)依賴于(Sno,Cname)。R(U)=Sno, Cname, Grade, SdeptX=Sno, CnameY=GradeX1=Sno或X2=Cname(Sno,Cname)GradeSdeptfpXYPXYfX2YX1Y有且Y=Sdept3.2.2幾種特殊的函數(shù)依賴傳遞函數(shù)依賴定義3.3 在關(guān)系模式R(U)中,設(shè)X、Y、Z是R的三個(gè)不同屬性子集,如果 XY,YZ,且Y不包含于X,Z不包含于Y,YX,則稱“Z傳遞函數(shù)依賴于X”,記作XZ。3.2.2幾種特殊的函數(shù)依賴傳遞函數(shù)依賴R(U) =Sno, Sdept, Mname X=Sno Y=Sdept Z=Mname如果 X

6、Y,YZ,且Y不包含于X,Z不包含于Y,YX,則稱“Z傳遞函數(shù)依賴于X”,記作XZ。在例3.1中,由于SnoSdept又有SdeptMname,故Mname傳遞函數(shù)依賴于Sno。3.2.2幾種特殊的函數(shù)依賴平凡函數(shù)依賴和非平凡函數(shù)依賴定義3.4 設(shè)關(guān)系模式R(U),X、Y U,如果XY,且Y X,則稱XY為平凡的函數(shù)依賴;如果XY,且Y不是X的子集,則稱XY為非平凡的函數(shù)依賴。說明:對于任何一個(gè)關(guān)系模式,平凡函數(shù)依賴總是必然成立的。所以如果不是特別聲明,我們討論的都是非平凡函數(shù)依賴。 3.2.2幾種特殊的函數(shù)依賴平凡函數(shù)依賴和非平凡函數(shù)依賴R(U)=Sno,Cname,Grade,SdeptX

7、=Sno, Cname, GradeY=Grade 如果X,Y是U的子集,如果XY,且Y是 X子集,則稱XY為平凡的函數(shù)依賴; 3.2.2幾種特殊的函數(shù)依賴平凡函數(shù)依賴和非平凡函數(shù)依賴R(U)=Sno,Cname,Grade,SdeptX=Sno, CnameY=Grade 如果XY,且Y不是X的子集,則稱XY為非平凡的函數(shù)依賴。說明:對于任何一個(gè)關(guān)系模式,平凡函數(shù)依賴總是必然成立的。所以如果不是特別聲明,我們討論的都是非平凡函數(shù)依賴。3.2.3 邏輯蘊(yùn)涵 定義3.5 設(shè)F是在關(guān)系模式R上成立的函數(shù)依賴的集合,XY是一個(gè)函數(shù)依賴。如果對于R的每個(gè)滿足F的關(guān)系r也滿足XY,那么稱F邏輯蘊(yùn)涵XY。

8、3.2.3 邏輯蘊(yùn)涵 在例3.1中,根據(jù)各屬性的語義可知學(xué)生關(guān)系模式的函數(shù)依賴集合F = SnoSdept,SdeptMname,(Sno,Cname)Grade,由SnoSdept,SdeptMname可推導(dǎo)出SnoMname,因此F中有函數(shù)依賴SnoMname,即F邏輯蘊(yùn)涵SnoMname。3.2.3 邏輯蘊(yùn)涵 定義3.6 設(shè)F是函數(shù)依賴集,被F邏輯蘊(yùn)涵的函數(shù)依賴全體構(gòu)成的集合,稱為函數(shù)依賴集F的閉包(Closure),記為F+。Armstrong公理 (1)自反律(Reflexivity):若Y X U,則F蘊(yùn)涵XY。(2)增廣律(Augmentation):若F蘊(yùn)涵XY,Z U,則F蘊(yùn)

9、涵XZYZ。(3)傳遞律(Transitivity):若F蘊(yùn)涵XY和YZ,則F蘊(yùn)涵XZ。3.3 范式構(gòu)造數(shù)據(jù)庫必須遵循一定的規(guī)則。關(guān)系模式的規(guī)范形式,簡稱范式(Normal Form,NF)。關(guān)系數(shù)據(jù)庫有六種范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BCNF范式、第四范式(4NF)、第五范式(5NF)。滿足最低要求的范式是第一范式(1NF)。3.3.1 第一范式(1NF)在關(guān)系模式R中的每一個(gè)具體關(guān)系r中,如果每個(gè)屬性值都是不可再分的最小數(shù)據(jù)單位,則稱R是第一范式關(guān)系模式 ,簡記為R1NF 。滿足1NF的關(guān)系模式并不一定是一個(gè)好關(guān)系模式。第一范式中往往存在以下四個(gè)問題。

10、數(shù)據(jù)冗余太大;更新復(fù)雜;插入異常;刪除異常。 教師信息表就未滿足第一范式: 教師工號教師姓名總工資基本工資職務(wù)工資課時(shí)工資0001高如飛15005007500002江華20005006000003章麗霞25001000300規(guī)范后成1NF的教師信息表教師工號教師姓名基本工資職務(wù)工資課時(shí)工資0001高如飛15005007500002江華20005006000003章麗霞250010003003.3.2 第二范式(2NF) 若關(guān)系模式R是1NF,且所有非主屬性都完全函數(shù)依賴于任意一個(gè)候選碼,則稱R 是第二范式關(guān)系模式,簡記為R2NF。第二范式(2NF)要求實(shí)體的屬性完全依賴于主碼。 例3.3:選課

11、關(guān)系 SC(SNO,CNO,GRADE,CREDIT),其中SNO為學(xué)號, CNO為課程號,GRADEGE 為成績,CREDIT 為學(xué)分。 分析實(shí)際情況可知,選課關(guān)系SC的主碼為(SNO,CNO)構(gòu)成的屬性組,GRADE,CREDIT為非主屬性;而CREDIT僅函數(shù)依賴于CNO,也就是CREDIT部分依賴于主碼(SNO,CNO)而不是完全依賴;故該選課關(guān)系不是第二范式關(guān)系模式。 3.3.3 第三范式(3NF)若關(guān)系模式R是2NF,且所有非主屬性對任何候選關(guān)鍵字都不存在傳遞函數(shù)依賴,則稱R是第三范式關(guān)系模式 ,即若R3NF,則R的每一個(gè)非主屬性既不部分函數(shù)依賴于候選碼,也不傳遞函數(shù)依賴于候選碼。

12、一般說來,數(shù)據(jù)庫只需滿足第三范式(3NF)就行了 例3.4:如Stu(SNO,SNAME,DNO,DNAME,LOCATION)各屬性分別代表學(xué)號,姓名,所在系,系名稱,系地址。分析關(guān)系模式Stu可知,不存在非主屬性部分依賴關(guān)鍵字的問題,所以關(guān)系模式Stu滿足2NF。F=SNOSNAME,SNODNO,SNODNAME,SNOLOCATION,DNODNAME,DNOLOCATION顯然Stu關(guān)系模式中的主碼是SNO,由于SNODNO而DNODNAME,DNOLOCATION;DNAME和LOCATION是通過DNO傳遞函數(shù)依賴于主碼SNO的;故關(guān)系模式Stu不滿足3NF的條件,只達(dá)到了2NF

13、。該模式存在以下情況:數(shù)據(jù)冗余太大。更新異常。插入異常。刪除異常。3.3.4 BCNF范式(*)定義:若關(guān)系模式R1NF ,如果對于R的每個(gè)函數(shù)依賴XY,若Y不包含于X,則X必含有候選碼。那么RBCNF。即在關(guān)系模式R中,如果每一個(gè)決定屬性集都包含候選碼,則RBCNF。即在3NF的基礎(chǔ)上,消除了主屬性對碼的部分依賴和傳遞依賴,所在屬性都不部分依賴或傳遞依賴于碼。BCNF三個(gè)性質(zhì)BCNF具有三個(gè)性質(zhì):(1)所有非主屬性都完全函數(shù)依賴于每個(gè)候選碼。(2)所有主屬性都完全函數(shù)依賴于每個(gè)不包含它的候選碼。(3)沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性。如果R中只有一個(gè)候選碼,如R3NF,則必定RB

14、CNF。3.4 關(guān)系模式的規(guī)范化規(guī)范化的基本思想是逐步消除數(shù)據(jù)依賴中不合適的部分,使模式中的各關(guān)系模式達(dá)到某種程度的“分解”,即采用“一事一地”的模式設(shè)計(jì)原則,讓一個(gè)關(guān)系描述一個(gè)概念、一個(gè)實(shí)體或者實(shí)體間的一種聯(lián)系。即“概念單一化”。3.4.1 規(guī)范化步驟1NF2NF3NFBCNF4NF5NF消除非主屬性對碼的部分函數(shù)依賴消除非主屬性對碼的傳遞函數(shù)依賴消除主屬性對碼的部分和傳遞函數(shù)依賴消除非平凡且非函數(shù)依賴的多值依賴消除不是由候選碼所蘊(yùn)含的連接依賴消除決定屬性集非碼的非平凡函數(shù)依賴3.4.2 關(guān)系模式的分解的準(zhǔn)則(*) 要保證分解后的關(guān)系模式與原關(guān)系模式等價(jià)。有三種標(biāo)準(zhǔn):(1)分解具有無損連接性

15、。(2)分解要保持函數(shù)依賴。(3)分解既要保持函數(shù)依賴,又要保持無損連接性。一個(gè)關(guān)系模式分解的探討 關(guān)系模式: SL(sno,sdept,sloc) 分解方法有:方法一:SN(sno), SD(sdept),SO(sloc) 丟失了很多有用的信息,分解不能保持函數(shù)依賴,不具有無損連接性。方法二:NL(sno,sloc),DL(sdept,sloc) 分解能保持函數(shù)依賴,但不具有無損連接性。方法三:ND(sno,sdept),NL(sno,sloc) 分解具有無損連接性,但不能保持函數(shù)依賴 。方法四:ND(sno,sdept),DL(sdept,sloc) 分解既能保持函數(shù)依賴,又具有無損連接性。無損連接性 設(shè)關(guān)系模式R(U,F(xiàn))被分解為若干個(gè)關(guān)系模式R1(U1,F(xiàn)1),R2(U2,F(xiàn)2).Rn(Un,F(xiàn)n),(其中U=U1U2Un,且不存在Ui包含于Uj中,Ri為F在Ui上的投影),若R與R1,R2.Rn自然連接的結(jié)果相等,則稱關(guān)系模式R的分解具有無損連接性。只有具有無損連接性的分解才能保證不丟失信息。例如方法三:ND(sno,sdept)

溫馨提示

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

最新文檔

評論

0/150

提交評論