




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
關系數據庫理論第一頁,共五十五頁,2022年,8月28日什么是好的數據庫設計準確反映客觀世界的信息無過度的冗余無插入異常無修改復雜無刪除異常第二頁,共五十五頁,2022年,8月28日過度冗余——數據重復修改異常——修改代價大、可能導致數據不一致刪除異常——部分信息的刪除可能導致信息的丟失插入異常——必須有完整信息一個不好的設計第三頁,共五十五頁,2022年,8月28日關系模式的形式化定義關系模式由五部分組成,即它是一個五元組:
R(U,D,DOM,F)R:關系名U:組成該關系的屬性名集合D:屬性組U中屬性所來自的域DOM:屬性向域的映象集合F:屬性間數據的依賴關系集合第四頁,共五十五頁,2022年,8月28日關系模式R(U,D,DOM,F)簡化為一個三元組:
R(U,F)當且僅當U上的一個關系r滿足F時,r稱為關系模式R(U,F)的一個關系第五頁,共五十五頁,2022年,8月28日碼(續)主屬性與非主屬性包含在任何一個候選碼中的屬性,稱為主屬性不包含在任何碼中的屬性稱為非主屬性全碼整個屬性組是碼,稱為全碼(All-key)第六頁,共五十五頁,2022年,8月28日[例1]建立一個描述學校教務的數據庫: 學生的學號(Sno)、所在系(Sdept) 系主任姓名(Mname)、課程名(Cname) 成績(Grade)單一的關系模式:Student<U、F>U={Sno,Sdept,Mname,Cname,Grade}第七頁,共五十五頁,2022年,8月28日數據依賴對關系模式的影響(續)屬性組U上的一組函數依賴F:
F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}
SnoCnameSdeptMnameGrade第八頁,共五十五頁,2022年,8月28日關系模式Student<U,F>中存在的問題1.數據冗余太大2.更新異常(UpdateAnomalies)3.插入異常(InsertionAnomalies)4.刪除異常(DeletionAnomalies)第九頁,共五十五頁,2022年,8月28日數據依賴對關系模式的影響(續)結論:Student關系模式不是一個好的模式。“好”的模式:不會發生插入異常、刪除異常、更新異常,數據冗余應盡可能少原因:由存在于模式中的某些數據依賴引起的解決方法:通過分解關系模式來消除其中不合適的數據依賴第十頁,共五十五頁,2022年,8月28日分解關系模式把這個單一模式分成3個關系模式:
S(Sno,Sdept,Sno→Sdept);SC(Sno,Cno,Grade,(Sno,Cno)→Grade);DEPT(Sdept,Mname,Sdept→Mname)第十一頁,共五十五頁,2022年,8月28日數據依賴數據之間的相互關系函數依賴(FunctionalDependency,FD)多值依賴(MultivaluedDependency,MVD)根據數據間的依賴關系來設計模式第十二頁,共五十五頁,2022年,8月28日給定X的值,則Y的值也唯一確定,稱X函數決定Y或Y函數依賴于X,記作X→Y.如果R的兩個元組在屬性A1,A2,…,An上的值相等,則它們在另一個屬性B上的值也相等,稱A1,A2,…,An函數決定B或B函數依賴于A1,A2,…,An,記作A1A2…An→B.函數依賴第十三頁,共五十五頁,2022年,8月28日X→Y中X叫做決定因素.平凡的函數依賴:X→Y但YX.否則稱非平凡的函數依賴.若X→Y且Y→X則記做XY.完全函數依賴X→Y:Y不依賴于X的任何一個真子集.否則稱部分函數依賴X→Y.傳遞函數依賴:X→Y且Y→Z則X→Z.術語和記號FP第十四頁,共五十五頁,2022年,8月28日如果關系模式R的屬性組K滿足條件KR,則K為R的碼.即:K函數決定該關系模式的所有其他屬性最小性:K的任何真子集都不具有上述性質R可能有多個滿足上面條件的候選碼,一般指定一個作為主碼.包含在碼中的屬性叫做主屬性,否則稱非主屬性.函數依賴與碼F第十五頁,共五十五頁,2022年,8月28日壞設計--不符合某種規范好設計--必須符合規范范式:關系模式的規范形式.規范分成若干級別范式(NormalForms)第十六頁,共五十五頁,2022年,8月28日規范化:把不符合范式要求的關系模式轉換成符合范式要求的關系模式一個關系滿足某個范式所規定的一系列條件時,它就屬于該范式低級范式可進一步規范化到高級范式:1NF→2NF→3NF→BCNF→4NF范式第十七頁,共五十五頁,2022年,8月28日若關系R的每一個屬性只能取原子值(不可再分),R就屬于第一范式,記做R∈1NF.關系數據模型的最基本要求第一范式(1NF)第十八頁,共五十五頁,2022年,8月28日2NF(續)[例4]關系模式S-L-C(Sno,Sdept,Sloc,Cno,Grade)Sloc為學生住處,假設每個系的學生住在同一個地方函數依賴包括:
(Sno,Cno)FGradeSno→Sdept(Sno,Cno)PSdeptSno→Sloc(Sno,Cno)PSlocSdept→Sloc第十九頁,共五十五頁,2022年,8月28日S-L-C不是一個好的關系模式(續)(1)插入異常(2)刪除異常(3)數據冗余度大(4)修改復雜第二十頁,共五十五頁,2022年,8月28日S-L-C不是一個好的關系模式(續)原因
Sdept、Sloc部分函數依賴于碼。解決方法
S-L-C分解為兩個關系模式,以消除這些部分函數依賴SC(Sno,Cno,Grade)
S-L(Sno,Sdept,Sloc)第二十一頁,共五十五頁,2022年,8月28日2NF(續)函數依賴圖:SnoCnoGradeSCS-LSnoSdeptSloc關系模式SC的碼為(Sno,Cno)關系模式S-L的碼為Sno這樣非主屬性對碼都是完全函數依賴
第二十二頁,共五十五頁,2022年,8月28日
2NF(續)2NF的定義 定義6.6若R∈1NF,且每一個非主屬性完全函數依賴于碼,則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關系模式R<U,F>
中若不存在這樣的碼X、屬性組Y及非主屬性Z(ZY),使得X→Y,Y→Z成立,Y→X,則稱R<U,F>∈3NF。若R∈3NF,則每一個非主屬性既不部分依賴于碼也不傳遞依賴于碼。第二十四頁,共五十五頁,2022年,8月28日3NF(續)例:2NF關系模式S-L(Sno,Sdept,Sloc)中函數依賴:
Sno→SdeptSdept→SnoSdept→Sloc
可得:
Sno→Sloc,即S-L中存在非主屬性對碼的傳遞函數依賴,S-L∈3NF傳遞第二十五頁,共五十五頁,2022年,8月28日
3NF(續)函數依賴圖:S-LSnoSdeptSloc第二十六頁,共五十五頁,2022年,8月28日3NF(續)解決方法采用投影分解法,把S-L分解為兩個關系模式,以消除傳遞函數依賴:S-D(Sno,Sdept)
D-L(Sdept,Sloc)S-D的碼為Sno,D-L的碼為Sdept。分解后的關系模式S-D與D-L中不再存在傳遞依賴第二十七頁,共五十五頁,2022年,8月28日3NF(續)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
關系模式R<U,F>∈1NF,若X→Y且YX時X必含有碼,則R<U,F>∈BCNF。等價于:每一個決定屬性因素都包含碼第二十九頁,共五十五頁,2022年,8月28日BCNF(續)若R∈BCNF所有非主屬性對每一個碼都是完全函數依賴所有的主屬性對每一個不包含它的碼,也是完全函數依賴沒有任何屬性完全函數依賴于非碼的任何一組屬性R∈BCNFR∈3NF充分不必要第三十頁,共五十五頁,2022年,8月28日BCNF(續)[例5]關系模式C(Cno,Cname,Pcno)C∈3NFC∈BCNF[例6]關系模式S(Sno,Sname,Sdept,Sage)假定S有兩個碼Sno,SnameS∈3NF。S∈BCNF第三十一頁,共五十五頁,2022年,8月28日BCNF(續)[例7]關系模式SJP(S,J,P)函數依賴:(S,J)→P;(J,P)→S(S,J)與(J,P)都可以作為候選碼,屬性相交SJP∈3NF,SJP∈BCNF第三十二頁,共五十五頁,2022年,8月28日
BCNF(續)[例8]在關系模式STJ(S,T,J)中,S表示學生,T表示教師,J表示課程。函數依賴:
(S,J)→T,(S,T)→J,T→J(S,J)和(S,T)都是候選碼第三十三頁,共五十五頁,2022年,8月28日
BCNF(續)
JSJTSTSTJ中的函數依賴第三十四頁,共五十五頁,2022年,8月28日BCNF(續)STJ∈3NF
沒有任何非主屬性對碼傳遞依賴或部分依賴
STJ∈BCNFT是決定因素,T不包含碼第三十五頁,共五十五頁,2022年,8月28日BCNF(續)解決方法:將STJ分解為二個關系模式:
ST(S,T)∈BCNF,TJ(T,J)∈BCNF
沒有任何屬性對碼的部分函數依賴和傳遞函數依賴SJSTTJTJ第三十六頁,共五十五頁,2022年,8月28日3NF與BCNF的關系R∈BCNFR∈3NF如果R∈3NF,且R只有一個候選碼
R∈BCNFR∈3NF充分不必要充分必要第三十七頁,共五十五頁,2022年,8月28日6.2規范化6.2.1函數依賴6.2.2碼6.2.3范式6.2.42NF6.2.53NF6.2.6BCNF6.2.7多值依賴6.2.84NF6.2.9規范化小結第三十八頁,共五十五頁,2022年,8月28日6.2.7多值依賴[例9]學校中某一門課程由多個教師講授,他們使用相同的一套參考書。每個教員可以講授多門課程,每種參考書可以供多門課程使用。
第三十九頁,共五十五頁,2022年,8月28日………課程C教員T參考書B
物理
數學
計算數學李勇王軍
李勇張平
張平周峰
普通物理學光學原理物理習題集
數學分析微分方程高等代數
數學分析...…
多值依賴(續)非規范化關系第四十頁,共五十五頁,2022年,8月28日普通物理學光學原理物理習題集普通物理學光學原理物理習題集數學分析微分方程高等代數數學分析微分方程高等代數…李勇李勇李勇王軍王軍王軍李勇李勇李勇張平張平張平
…物理物理物理物理物理物理數學數學數學數學數學數學…
參考書B教員T課程C多值依賴(續)用二維表表示Teaching第四十一頁,共五十五頁,2022年,8月28日多值依賴(續)Teaching∈BCNFTeaching具有唯一候選碼(C,T,B),即全碼
第四十二頁,共五十五頁,2022年,8月28日多值依賴(續)
Teaching模式中存在的問題(1)數據冗余度大(2)插入操作復雜(3)刪除操作復雜(4)修改操作復雜存在多值依賴第四十三頁,共五十五頁,2022年,8月28日多值依賴(續)定義6.9
設R(U)是一個屬性集U上的一個關系模式,X、Y和Z是U的子集,并且Z=U-X-Y。關系模式R(U)中多值依賴
X→→Y成立,當且僅當對R(U)的任一關系r,給定的一對(x,z)值,有一組Y的值,這組值僅僅決定于x值而與z值無關例Teaching(C,T,B)第四十四頁,共五十五頁,2022年,8月28日對于關系R,若R∈1NF,且每一個非主屬性完全函數依賴于碼,則R∈2NF。不能部分依賴于碼例如:sc(sno,sname,cno,grade)中sno,cno→gradesno→sname第二范式(2NF)PF第四十五頁,共五十五頁,2022年,8月28日第二范式(2NF)snocnogradesname完全依賴非完全依賴第四十六頁,共五十五頁,2022年,8月28日對于關系R,若R∈2NF,且每個非主屬性都不傳遞依賴于碼,則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日對于關系R,若R∈1NF,且對于所有非平凡的函數依賴X→Y,X必包含碼,則R∈BCNF。滿足BCNF的關系模式中:決定因素都包含碼決定因素可以是超鍵滿足BCNF必滿足3NF,但反之不然.BoyceCodd范式(BCNF)第四十九頁,共五十五頁,2022年,8月28日例如sct(s,c,t)//學生,課程,教師t→c//假設每位教師只上一門課s,c→t//假設學生只向一個老師學某門課s,t→c //學生向某個老師只能學一門課BoyceCodd范式(BCNF)第五十頁,共五十五頁,2022年,8月28日scts
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 撫州市2024-2025學年高三零診綜合試題含解析
- 大數據在市場調研中的應用-全面剖析
- 人工智能輔助的控盤監控-全面剖析
- 信貸評分模型的機器學習創新-全面剖析
- 棗莊市臺兒莊區中醫院招聘真題2024
- 水電十四局西北工程公司招聘真題2024
- 疫情對人口流動趨勢影響-全面剖析
- 2025年大學統計學期末考試題庫:基礎概念解析與實戰練習
- 2025年初中地理學業水平考試模擬卷:人文地理專項地理研究試題
- 2025年輔導員選拔:班級管理策略與思想政治教育試題集
- 2025年從大模型、智能體到復雜AI應用系統的構建報告-以產業大腦為例-浙江大學(肖俊)
- 外研版(2025新版)七年級下冊英語期中復習:Unit 1~3+期中共4套學情調研測試卷(含答案)
- MOOC 計算機組成與CPU設計實驗-江蘇大學 中國大學慕課答案
- 第一次月考測試卷(試題)-2023-2024學年人教版六年級數學下冊
- 生產車間5S稽核評分表
- 施工組織設計管理臺帳
- 閉合導線計算表(帶公式)
- 商務禮儀培訓52873734(PPT143頁)
- (高清正版)T_CAGHP 066—2019危巖落石柔性防護網工程技術規范(試行)
- 超星爾雅學習通《婚戀職場人格(武漢理工大學)》章節測試附答案
- 家庭衛士使用說明書智能插座
評論
0/150
提交評論