關(guān)系數(shù)據(jù)庫理論_第1頁
關(guān)系數(shù)據(jù)庫理論_第2頁
關(guān)系數(shù)據(jù)庫理論_第3頁
關(guān)系數(shù)據(jù)庫理論_第4頁
關(guān)系數(shù)據(jù)庫理論_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

關(guān)系數(shù)據(jù)庫理論第一頁,共五十五頁,2022年,8月28日什么是好的數(shù)據(jù)庫設(shè)計(jì)準(zhǔn)確反映客觀世界的信息無過度的冗余無插入異常無修改復(fù)雜無刪除異常第二頁,共五十五頁,2022年,8月28日過度冗余——數(shù)據(jù)重復(fù)修改異?!薷拇鷥r(jià)大、可能導(dǎo)致數(shù)據(jù)不一致刪除異常——部分信息的刪除可能導(dǎo)致信息的丟失插入異?!仨氂型暾畔⒁粋€(gè)不好的設(shè)計(jì)第三頁,共五十五頁,2022年,8月28日關(guān)系模式的形式化定義關(guān)系模式由五部分組成,即它是一個(gè)五元組:

R(U,D,DOM,F)R:關(guān)系名U:組成該關(guān)系的屬性名集合D:屬性組U中屬性所來自的域DOM:屬性向域的映象集合F:屬性間數(shù)據(jù)的依賴關(guān)系集合第四頁,共五十五頁,2022年,8月28日關(guān)系模式R(U,D,DOM,F)簡化為一個(gè)三元組:

R(U,F)當(dāng)且僅當(dāng)U上的一個(gè)關(guān)系r滿足F時(shí),r稱為關(guān)系模式R(U,F)的一個(gè)關(guān)系第五頁,共五十五頁,2022年,8月28日碼(續(xù))主屬性與非主屬性包含在任何一個(gè)候選碼中的屬性,稱為主屬性不包含在任何碼中的屬性稱為非主屬性全碼整個(gè)屬性組是碼,稱為全碼(All-key)第六頁,共五十五頁,2022年,8月28日[例1]建立一個(gè)描述學(xué)校教務(wù)的數(shù)據(jù)庫: 學(xué)生的學(xué)號(Sno)、所在系(Sdept) 系主任姓名(Mname)、課程名(Cname) 成績(Grade)單一的關(guān)系模式:Student<U、F>U={Sno,Sdept,Mname,Cname,Grade}第七頁,共五十五頁,2022年,8月28日數(shù)據(jù)依賴對關(guān)系模式的影響(續(xù))屬性組U上的一組函數(shù)依賴F:

F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}

SnoCnameSdeptMnameGrade第八頁,共五十五頁,2022年,8月28日關(guān)系模式Student<U,F>中存在的問題1.數(shù)據(jù)冗余太大2.更新異常(UpdateAnomalies)3.插入異常(InsertionAnomalies)4.刪除異常(DeletionAnomalies)第九頁,共五十五頁,2022年,8月28日數(shù)據(jù)依賴對關(guān)系模式的影響(續(xù))結(jié)論:Student關(guān)系模式不是一個(gè)好的模式?!昂谩钡哪J剑翰粫?huì)發(fā)生插入異常、刪除異常、更新異常,數(shù)據(jù)冗余應(yīng)盡可能少原因:由存在于模式中的某些數(shù)據(jù)依賴引起的解決方法:通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴第十頁,共五十五頁,2022年,8月28日分解關(guān)系模式把這個(gè)單一模式分成3個(gè)關(guān)系模式:

S(Sno,Sdept,Sno→Sdept);SC(Sno,Cno,Grade,(Sno,Cno)→Grade);DEPT(Sdept,Mname,Sdept→Mname)第十一頁,共五十五頁,2022年,8月28日數(shù)據(jù)依賴數(shù)據(jù)之間的相互關(guān)系函數(shù)依賴(FunctionalDependency,FD)多值依賴(MultivaluedDependency,MVD)根據(jù)數(shù)據(jù)間的依賴關(guān)系來設(shè)計(jì)模式第十二頁,共五十五頁,2022年,8月28日給定X的值,則Y的值也唯一確定,稱X函數(shù)決定Y或Y函數(shù)依賴于X,記作X→Y.如果R的兩個(gè)元組在屬性A1,A2,…,An上的值相等,則它們在另一個(gè)屬性B上的值也相等,稱A1,A2,…,An函數(shù)決定B或B函數(shù)依賴于A1,A2,…,An,記作A1A2…An→B.函數(shù)依賴第十三頁,共五十五頁,2022年,8月28日X→Y中X叫做決定因素.平凡的函數(shù)依賴:X→Y但YX.否則稱非平凡的函數(shù)依賴.若X→Y且Y→X則記做XY.完全函數(shù)依賴X→Y:Y不依賴于X的任何一個(gè)真子集.否則稱部分函數(shù)依賴X→Y.傳遞函數(shù)依賴:X→Y且Y→Z則X→Z.術(shù)語和記號FP第十四頁,共五十五頁,2022年,8月28日如果關(guān)系模式R的屬性組K滿足條件KR,則K為R的碼.即:K函數(shù)決定該關(guān)系模式的所有其他屬性最小性:K的任何真子集都不具有上述性質(zhì)R可能有多個(gè)滿足上面條件的候選碼,一般指定一個(gè)作為主碼.包含在碼中的屬性叫做主屬性,否則稱非主屬性.函數(shù)依賴與碼F第十五頁,共五十五頁,2022年,8月28日壞設(shè)計(jì)--不符合某種規(guī)范好設(shè)計(jì)--必須符合規(guī)范范式:關(guān)系模式的規(guī)范形式.規(guī)范分成若干級別范式(NormalForms)第十六頁,共五十五頁,2022年,8月28日規(guī)范化:把不符合范式要求的關(guān)系模式轉(zhuǎn)換成符合范式要求的關(guān)系模式一個(gè)關(guān)系滿足某個(gè)范式所規(guī)定的一系列條件時(shí),它就屬于該范式低級范式可進(jìn)一步規(guī)范化到高級范式:1NF→2NF→3NF→BCNF→4NF范式第十七頁,共五十五頁,2022年,8月28日若關(guān)系R的每一個(gè)屬性只能取原子值(不可再分),R就屬于第一范式,記做R∈1NF.關(guān)系數(shù)據(jù)模型的最基本要求第一范式(1NF)第十八頁,共五十五頁,2022年,8月28日2NF(續(xù))[例4]關(guān)系模式S-L-C(Sno,Sdept,Sloc,Cno,Grade)Sloc為學(xué)生住處,假設(shè)每個(gè)系的學(xué)生住在同一個(gè)地方函數(shù)依賴包括:

(Sno,Cno)FGradeSno→Sdept(Sno,Cno)PSdeptSno→Sloc(Sno,Cno)PSlocSdept→Sloc第十九頁,共五十五頁,2022年,8月28日S-L-C不是一個(gè)好的關(guān)系模式(續(xù))(1)插入異常(2)刪除異常(3)數(shù)據(jù)冗余度大(4)修改復(fù)雜第二十頁,共五十五頁,2022年,8月28日S-L-C不是一個(gè)好的關(guān)系模式(續(xù))原因

Sdept、Sloc部分函數(shù)依賴于碼。解決方法

S-L-C分解為兩個(gè)關(guān)系模式,以消除這些部分函數(shù)依賴SC(Sno,Cno,Grade)

S-L(Sno,Sdept,Sloc)第二十一頁,共五十五頁,2022年,8月28日2NF(續(xù))函數(shù)依賴圖:SnoCnoGradeSCS-LSnoSdeptSloc關(guān)系模式SC的碼為(Sno,Cno)關(guān)系模式S-L的碼為Sno這樣非主屬性對碼都是完全函數(shù)依賴

第二十二頁,共五十五頁,2022年,8月28日

2NF(續(xù))2NF的定義 定義6.6若R∈1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則R∈2NF。 例:S-L-C(Sno,Sdept,Sloc,Cno,Grade)∈1NFS-L-C(Sno,Sdept,Sloc,Cno,Grade)∈2NF SC(Sno,Cno,Grade)∈

2NF S-L(Sno,Sdept,Sloc)∈

2NF第二十三頁,共五十五頁,2022年,8月28日

6.2.53NF3NF的定義

定義6.7關(guān)系模式R<U,F(xiàn)>

中若不存在這樣的碼X、屬性組Y及非主屬性Z(ZY),使得X→Y,Y→Z成立,Y→X,則稱R<U,F(xiàn)>∈3NF。若R∈3NF,則每一個(gè)非主屬性既不部分依賴于碼也不傳遞依賴于碼。第二十四頁,共五十五頁,2022年,8月28日3NF(續(xù))例:2NF關(guān)系模式S-L(Sno,Sdept,Sloc)中函數(shù)依賴:

Sno→SdeptSdept→SnoSdept→Sloc

可得:

Sno→Sloc,即S-L中存在非主屬性對碼的傳遞函數(shù)依賴,S-L∈3NF傳遞第二十五頁,共五十五頁,2022年,8月28日

3NF(續(xù))函數(shù)依賴圖:S-LSnoSdeptSloc第二十六頁,共五十五頁,2022年,8月28日3NF(續(xù))解決方法采用投影分解法,把S-L分解為兩個(gè)關(guān)系模式,以消除傳遞函數(shù)依賴:S-D(Sno,Sdept)

D-L(Sdept,Sloc)S-D的碼為Sno,D-L的碼為Sdept。分解后的關(guān)系模式S-D與D-L中不再存在傳遞依賴第二十七頁,共五十五頁,2022年,8月28日3NF(續(xù))S-D的碼為Sno,D-L的碼為SdeptSnoSdeptS-DSdeptSlocD-L

S-L(Sno,Sdept,Sloc)∈2NFS-L(Sno,Sdept,Sloc)∈3NFS-D(Sno,Sdept)∈3NFD-L(Sdept,Sloc)∈3NF第二十八頁,共五十五頁,2022年,8月28日

6.2.6BC范式(BCNF)定義6.8

關(guān)系模式R<U,F(xiàn)>∈1NF,若X→Y且YX時(shí)X必含有碼,則R<U,F(xiàn)>∈BCNF。等價(jià)于:每一個(gè)決定屬性因素都包含碼第二十九頁,共五十五頁,2022年,8月28日BCNF(續(xù))若R∈BCNF所有非主屬性對每一個(gè)碼都是完全函數(shù)依賴所有的主屬性對每一個(gè)不包含它的碼,也是完全函數(shù)依賴沒有任何屬性完全函數(shù)依賴于非碼的任何一組屬性R∈BCNFR∈3NF充分不必要第三十頁,共五十五頁,2022年,8月28日BCNF(續(xù))[例5]關(guān)系模式C(Cno,Cname,Pcno)C∈3NFC∈BCNF[例6]關(guān)系模式S(Sno,Sname,Sdept,Sage)假定S有兩個(gè)碼Sno,SnameS∈3NF。S∈BCNF第三十一頁,共五十五頁,2022年,8月28日BCNF(續(xù))[例7]關(guān)系模式SJP(S,J,P)函數(shù)依賴:(S,J)→P;(J,P)→S(S,J)與(J,P)都可以作為候選碼,屬性相交SJP∈3NF,SJP∈BCNF第三十二頁,共五十五頁,2022年,8月28日

BCNF(續(xù))[例8]在關(guān)系模式STJ(S,T,J)中,S表示學(xué)生,T表示教師,J表示課程。函數(shù)依賴:

(S,J)→T,(S,T)→J,T→J(S,J)和(S,T)都是候選碼第三十三頁,共五十五頁,2022年,8月28日

BCNF(續(xù))

JSJTSTSTJ中的函數(shù)依賴第三十四頁,共五十五頁,2022年,8月28日BCNF(續(xù))STJ∈3NF

沒有任何非主屬性對碼傳遞依賴或部分依賴

STJ∈BCNFT是決定因素,T不包含碼第三十五頁,共五十五頁,2022年,8月28日BCNF(續(xù))解決方法:將STJ分解為二個(gè)關(guān)系模式:

ST(S,T)∈BCNF,TJ(T,J)∈BCNF

沒有任何屬性對碼的部分函數(shù)依賴和傳遞函數(shù)依賴SJSTTJTJ第三十六頁,共五十五頁,2022年,8月28日3NF與BCNF的關(guān)系R∈BCNFR∈3NF如果R∈3NF,且R只有一個(gè)候選碼

R∈BCNFR∈3NF充分不必要充分必要第三十七頁,共五十五頁,2022年,8月28日6.2規(guī)范化6.2.1函數(shù)依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9規(guī)范化小結(jié)第三十八頁,共五十五頁,2022年,8月28日6.2.7多值依賴[例9]學(xué)校中某一門課程由多個(gè)教師講授,他們使用相同的一套參考書。每個(gè)教員可以講授多門課程,每種參考書可以供多門課程使用。

第三十九頁,共五十五頁,2022年,8月28日………課程C教員T參考書B

物理

數(shù)學(xué)

計(jì)算數(shù)學(xué)李勇王軍

李勇張平

張平周峰

普通物理學(xué)光學(xué)原理物理習(xí)題集

數(shù)學(xué)分析微分方程高等代數(shù)

數(shù)學(xué)分析...…

多值依賴(續(xù))非規(guī)范化關(guān)系第四十頁,共五十五頁,2022年,8月28日普通物理學(xué)光學(xué)原理物理習(xí)題集普通物理學(xué)光學(xué)原理物理習(xí)題集數(shù)學(xué)分析微分方程高等代數(shù)數(shù)學(xué)分析微分方程高等代數(shù)…李勇李勇李勇王軍王軍王軍李勇李勇李勇張平張平張平

…物理物理物理物理物理物理數(shù)學(xué)數(shù)學(xué)數(shù)學(xué)數(shù)學(xué)數(shù)學(xué)數(shù)學(xué)…

參考書B教員T課程C多值依賴(續(xù))用二維表表示Teaching第四十一頁,共五十五頁,2022年,8月28日多值依賴(續(xù))Teaching∈BCNFTeaching具有唯一候選碼(C,T,B),即全碼

第四十二頁,共五十五頁,2022年,8月28日多值依賴(續(xù))

Teaching模式中存在的問題(1)數(shù)據(jù)冗余度大(2)插入操作復(fù)雜(3)刪除操作復(fù)雜(4)修改操作復(fù)雜存在多值依賴第四十三頁,共五十五頁,2022年,8月28日多值依賴(續(xù))定義6.9

設(shè)R(U)是一個(gè)屬性集U上的一個(gè)關(guān)系模式,X、Y和Z是U的子集,并且Z=U-X-Y。關(guān)系模式R(U)中多值依賴

X→→Y成立,當(dāng)且僅當(dāng)對R(U)的任一關(guān)系r,給定的一對(x,z)值,有一組Y的值,這組值僅僅決定于x值而與z值無關(guān)例Teaching(C,T,B)第四十四頁,共五十五頁,2022年,8月28日對于關(guān)系R,若R∈1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼,則R∈2NF。不能部分依賴于碼例如:sc(sno,sname,cno,grade)中sno,cno→gradesno→sname第二范式(2NF)PF第四十五頁,共五十五頁,2022年,8月28日第二范式(2NF)snocnogradesname完全依賴非完全依賴第四十六頁,共五十五頁,2022年,8月28日對于關(guān)系R,若R∈2NF,且每個(gè)非主屬性都不傳遞依賴于碼,則R∈3NF。例如:student(sno,sname,sdept,dept_head) sno→sname,sdeptsdept→dept_head傳遞依賴:sno→dept_head第三范式(3NF)第四十七頁,共五十五頁,2022年,8月28日第三范式(3NF)snosdeptsnamedept_head第四十八頁,共五十五頁,2022年,8月28日對于關(guān)系R,若R∈1NF,且對于所有非平凡的函數(shù)依賴X→Y,X必包含碼,則R∈BCNF。滿足BCNF的關(guān)系模式中:決定因素都包含碼決定因素可以是超鍵滿足BCNF必滿足3NF,但反之不然.BoyceCodd范式(BCNF)第四十九頁,共五十五頁,2022年,8月28日例如sct(s,c,t)//學(xué)生,課程,教師t→c//假設(shè)每位教師只上一門課s,c→t//假設(shè)學(xué)生只向一個(gè)老師學(xué)某門課s,t→c //學(xué)生向某個(gè)老師只能學(xué)一門課BoyceCodd范式(BCNF)第五十頁,共五十五頁,2022年,8月28日scts

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論