




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章關系數(shù)據理論及求精志存高遠,
腳踏實地,
勇于探索!2015/10/30數(shù)據庫原理與設計2023/2/6一、什么是數(shù)據依賴1.完整性約束的表現(xiàn)形式限定屬性取值范圍:例如學生成績必須在0-100之間定義屬性值間的相互關連(主要體現(xiàn)于值的相等與否),這就是數(shù)據依賴,它是數(shù)據庫模式設計的關鍵2023/2/6什么是數(shù)據依賴(續(xù))2.數(shù)據依賴一個關系內部屬性與屬性之間的約束關系現(xiàn)實世界屬性間相互聯(lián)系的抽象數(shù)據內在的性質語義的體現(xiàn)2023/2/6什么是數(shù)據依賴(續(xù))3.數(shù)據依賴的類型函數(shù)依賴(FunctionalDependency,簡記為FD)多值依賴(MultivaluedDependency,簡記為MVD)其他2023/2/6四、關系模式的簡化表示關系模式R(U,D,DOM,F)簡化為一個三元組:
R(U,F)當且僅當U上的一個關系r滿足F時,r稱為關系模式R(U,F)的一個關系2023/2/6數(shù)據庫原理與應用張申勇6二、數(shù)據依賴對關系模式的影響[例1]建立一個描述學校教務的數(shù)據庫:
學生的學號(Sno)、所在系(Sdept) 系主任姓名(Mname)、課程名(Cname) 成績(Grade)單一的關系模式:Student<U、F>U={Sno,Sdept,Mname,Cname,Grade}2023/2/6數(shù)據依賴對關系模式的影響(續(xù))屬性組U上的一組函數(shù)依賴F:
F={Sno→Sdept,Sdept→Mname,(Sno,Cname)→Grade}
SnoCnameSdeptMnameGrade2023/2/6數(shù)據庫原理與應用張申勇8數(shù)據依賴對關系模式的影響(續(xù))SnoSdeptMnameCnameGrade01外語系王軍大學英語8501外語系王軍英文寫作8001外語系王軍語文8702數(shù)學系李鐵大學英語7502數(shù)學系李鐵高等數(shù)學9003物理系朱巖大學英語8204物理系朱巖高等數(shù)學8405化學系馬兵大學英語7005化學系馬兵分析化學902023/2/6關系模式Student<U,F>中存在的問題1.數(shù)據冗余太大(Redundancy)2.更新異常(UpdateAnomalies)3.插入異常(InsertionAnomalies)4.刪除異常(DeletionAnomalies)2023/2/6數(shù)據依賴對關系模式的影響(續(xù))結論:Student關系模式不是一個好的模式。“好”的模式:不會發(fā)生插入異常、刪除異常、更新異常,數(shù)據冗余應盡可能少。原因:由存在于模式中的某些數(shù)據依賴引起的解決方法:通過分解關系模式來消除其中不合適的數(shù)據依賴。2023/2/6分解關系模式把這個單一模式分成3個關系模式:
S(Sno,Sdept,Sno→Sdept);SC(Sno,Cname,Grade,(Sno,Cname)→Grade);DEPT(Sdept,Mname,Sdept→Mname)2023/2/6二、規(guī)范化
規(guī)范化理論正是用來改造關系模式,通過分解關系模式來消除其中不合適的數(shù)據依賴,以解決插入異常、刪除異常、更新異常和數(shù)據冗余問題。2023/2/6數(shù)據庫原理與應用張申勇132.1函數(shù)依賴函數(shù)依賴平凡函數(shù)依賴與非平凡函數(shù)依賴完全函數(shù)依賴與部分函數(shù)依賴傳遞函數(shù)依賴2023/2/6一、函數(shù)依賴定義6.1設R(U)是一個屬性集U上的關系模式,X和Y是U的子集。若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱“X函數(shù)確定Y”
或“Y函數(shù)依賴于X”,記作X→Y。
2023/2/6說明
1.
所有關系實例均要滿足2.語義范疇的概念3.數(shù)據庫設計者可以對現(xiàn)實世界作強制的規(guī)定2023/2/6二、平凡函數(shù)依賴與非平凡函數(shù)依賴在關系模式R(U)中,對于U的子集X和Y,如果X→Y,但YX,則稱X→Y是非平凡的函數(shù)依賴若X→Y,但YX,則稱X→Y是平凡的函數(shù)依賴例:在關系SC(Sno,Cno,Grade)中,非平凡函數(shù)依賴:(Sno,Cno)→
Grade
平凡函數(shù)依賴:(Sno,Cno)→
Sno(Sno,Cno)→Cno2023/2/6平凡函數(shù)依賴與非平凡函數(shù)依賴(續(xù))若X→Y,則X稱為這個函數(shù)依賴的決定屬性組,也稱為決定因素(Determinant)。若X→Y,Y→X,則記作X←→Y。若Y不函數(shù)依賴于X,則記作X→Y。2023/2/6三、完全函數(shù)依賴與部分函數(shù)依賴定義6.2在R(U)中,如果X→Y,并且對于X的任何一個真子集X’,都有X’Y,則稱Y對X完全函數(shù)依賴,記作
XFY。若X→Y,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴,記作XPY。
2023/2/6完全函數(shù)依賴與部分函數(shù)依賴(續(xù))[例1]中(Sno,Cno)→Grade是完全函數(shù)依賴,
(Sno,Cno)→Sdept是部分函數(shù)依賴因為Sno→Sdept成立,且Sno是(Sno,Cno)的真子集
FP2023/2/6四、傳遞函數(shù)依賴定義6.3在R(U)中,如果X→Y,(YX),Y→XY→Z,則稱Z對X傳遞函數(shù)依賴。記為:X→Z
注:如果Y→X,即X←→Y,則Z直接依賴于X。例:在關系Std(Sno,Sdept,Mname)中,有:
Sno→Sdept,Sdept→Mname,Mname傳遞函數(shù)依賴于Sno。傳遞2023/2/62.2碼定義6.4設K為R<U,F>中的屬性或屬性組合。若K
U,則K稱為R的侯選碼(CandidateKey)。若候選碼多于一個,則選定其中的一個做為主碼(PrimaryKey)。F2023/2/6碼(續(xù))主屬性與非主屬性包含在任何一個候選碼中的屬性,稱為主屬性(Primeattribute)不包含在任何碼中的屬性稱為非主屬性(Nonprimeattribute)或非碼屬性(Non-keyattribute)全碼整個屬性組是碼,稱為全碼(All-key)
2023/2/6碼(續(xù))[例2]關系模式S(Sno,Sdept,Sage),單個屬性Sno是碼,
SC(Sno,Cno,Grade)中,(Sno,Cno)是碼[例3]關系模式R(P,W,A)
P:演奏者W:作品A:聽眾一個演奏者可以演奏多個作品某一作品可被多個演奏者演奏聽眾可以欣賞不同演奏者的不同作品碼為(P,W,A),即All-Key2023/2/6外部碼定義6.5關系模式R中屬性或屬性組X并非R的碼,但X是另一個關系模式的碼,則稱X是R的外部碼(Foreignkey)也稱外碼如在SC(Sno,Cno,Grade)中,Sno不是碼,但Sno是關系模式S(Sno,Sdept,Sage)的碼,則Sno是關系模式SC的外部碼。主碼與外部碼一起提供了表示關系間聯(lián)系的手段。2023/2/62.3范式范式是符合某一種級別的關系模式的集合關系數(shù)據庫中的關系必須滿足一定的要求。滿足不同程度要求的為不同范式范式的種類:
第一范式(1NF)
第二范式(2NF)
第三范式(3NF) BC范式(BCNF)
第四范式(4NF)
第五范式(5NF)2023/2/6數(shù)據庫原理與應用張申勇262.3范式各種范式之間存在聯(lián)系:某一關系模式R為第n范式,可簡記為R∈nNF。一個低一級范式的關系模式,通過模式分解可以轉換為若干個高一級范式的關系模式的集合,這種過程就叫規(guī)范化
2023/2/62.42NF1NF的定義 如果一個關系模式R的所有屬性都是不可分的基本數(shù)據項,則R∈1NF第一范式是對關系模式的最起碼的要求。不滿足第一范式的數(shù)據庫模式不能稱為關系數(shù)據庫但是滿足第一范式的關系模式并不一定是一個好的關系模式2023/2/62NF(續(xù))[例4]關系模式S-L-C(Sno,Sdept,Sloc,Cno,Grade)Sloc為學生住處,假設每個系的學生住在同一個地方函數(shù)依賴包括:
(Sno,Cno)FGradeSno→Sdept(Sno,Cno)PSdeptSno→Sloc(Sno,Cno)PSlocSdept→Sloc2023/2/6
2NF(續(xù))S-L-C的碼為(Sno,Cno)S-L-C滿足第一范式。非主屬性Sdept和Sloc部分函數(shù)依賴于碼(Sno,Cno)SnoCnoGradeSdeptSlocS-L-C2023/2/6數(shù)據庫原理與應用張申勇30S-L-C不是一個好的關系模式(續(xù))(1)插入異常(2)刪除異常(3)數(shù)據冗余度大(4)修改復雜2023/2/6數(shù)據庫原理與應用張申勇31S-L-C不是一個好的關系模式(續(xù))原因
Sdept、Sloc部分函數(shù)依賴于碼。解決方法
S-L-C分解為兩個關系模式,以消除這些部分函數(shù)依賴
SC(Sno,Cno,Grade)
S-L(Sno,Sdept,Sloc)2023/2/6數(shù)據庫原理與應用張申勇322NF(續(xù))函數(shù)依賴圖:SnoCnoGradeSCS-LSnoSdeptSloc關系模式SC的碼為(Sno,Cno)關系模式S-L的碼為Sno這樣非主屬性對碼都是完全函數(shù)依賴
2023/2/6
2NF(續(xù))2NF的定義 定義6.6若R∈1NF,且每一個非主屬性完全函數(shù)依賴于碼,則R∈2NF。例:S-L-C(Sno,Sdept,Sloc,Cno,Grade)∈1NFS-L-C(Sno,Sdept,Sloc,Cno,Grade)∈2NFSC(Sno,Cno,Grade)∈2NFS-L(Sno,Sdept,Sloc)∈2NF2023/2/6分解辦法首先,對于組成主碼的屬性集合的每一個子集,用它作為主碼構成一個表。然后,將依賴于這些主碼的屬性放置到相應的表中。最后,去掉只由主碼的子集構成的表。2023/2/6
2NF(續(xù))采用投影分解法將一個1NF的關系分解為多個2NF的關系,可以在一定程度上減輕原1NF關系中存在的插入異常、刪除異常、數(shù)據冗余度大、修改復雜等問題。將一個1NF關系分解為多個2NF的關系,并不能完全消除關系模式中的各種異常情況和數(shù)據冗余。2023/2/6數(shù)據庫原理與應用張申勇36
2.53NF3NF的定義定義6.7關系模式R<U,F(xiàn)>
中若不存在這樣的碼X、屬性組Y及非主屬性Z(ZY),使得X→Y,Y→Z成立,Y→X,則稱R<U,F(xiàn)>∈3NF。若R∈3NF,則每一個非主屬性既不部分依賴于碼也不傳遞依賴于碼。2023/2/63NF(續(xù))例:2NF關系模式S-L(Sno,Sdept,Sloc)中函數(shù)依賴:
Sno→SdeptSdept→SnoSdept→Sloc
可得:Sno→Sloc,即S-L中存在非主屬性對碼的傳遞函數(shù)依賴,S-L∈3NF傳遞2023/2/6數(shù)據庫原理與應用張申勇38
3NF(續(xù))函數(shù)依賴圖:S-LSnoSdeptSloc2023/2/63NF(續(xù))解決方法采用投影分解法,把S-L分解為兩個關系模式,以消除傳遞函數(shù)依賴:
S-D(Sno,Sdept)
D-L(Sdept,Sloc)S-D的碼為Sno,D-L的碼為Sdept。分解后的關系模式S-D與D-L中不再存在傳遞依賴2023/2/6數(shù)據庫原理與應用張申勇403NF(續(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)∈3NF2023/2/6分解過程(1)對于不是候選碼的每個決定因子,從表中刪去依賴于它的所有屬性;(2)新建一個表,新表中包含在原表中所有依賴于該決定因子的屬性;(3)將決定因子作為新表的主碼。2023/2/63NF(續(xù))采用投影分解法將一個2NF的關系分解為多個3NF的關系,可以在一定程度上解決原2NF關系中存在的插入異常、刪除異常、數(shù)據冗余度大、修改復雜等問題。將一個2NF關系分解為多個3NF的關系后,仍然不能完全消除關系模式中的各種異常情況和數(shù)據冗余。2023/2/6規(guī)范化舉例設有關系模式:Student(學號,姓名,導師號,導師名,課程號,課程說明,成績)語義:一名學生只有一個導師,學生可選多門課。判斷此關系模式屬于幾范式,如不屬于3NF,將其規(guī)范化成3NF的。2023/2/61.此表是1NF,其函數(shù)依賴為: 學號F→姓名,學號F→導師號,學號F→導師名,課程號F→課程說明,(學號,課程號)→成績主碼為(學號,課程號)存在部分函數(shù)依賴關系,不是2NF,首先將其分解為2NF。學生(學號,姓名,導師號,導師名),課程(課程號,課程說明),成績(學號,課程號,成績)均為2NF2023/2/62.判是否為3NF“學生”表不是3NF,其函數(shù)依賴為: 學號→姓名,學號→導師號,導師號F→導師名,∴學號傳遞→導師名消除依賴于決定者的屬性,把它們放在一個單獨的表中,得到:學生(學號,姓名,導師號),導師(導師號,導師名)2023/2/6數(shù)據庫原理與應用張申勇46規(guī)范化小結關系數(shù)據庫的規(guī)范化理論是數(shù)據庫邏輯設計的工具目的:盡量消除插入、刪除異常,修改復雜,數(shù)據冗余基本思想:逐步消除數(shù)據依賴中不合適的部分實質:概念的單一化2023/2/6規(guī)范化小結(續(xù))關系模式規(guī)范化的基本步驟
1NF ↓消除非主屬性對碼的部分函數(shù)依賴消除決定屬性2NF集非碼的非平↓消除非主屬性對碼的傳遞函數(shù)依賴凡函數(shù)依賴3NF ↓消除主屬性對碼的部分和傳遞函數(shù)依賴
BCNF ↓消除非平凡且非函數(shù)依賴的多值依賴
4NF2023/2/6數(shù)據庫原理與應用張申勇48規(guī)范化小結(續(xù))不能說規(guī)范化程度越高的關系模式就越好在設計數(shù)據庫模式結構時,必須對現(xiàn)實世界的實際情況和用戶應用需求作進一步分析,確定一個合適的、能夠反映現(xiàn)實世界的模式上面的規(guī)范化步驟可以在其中任何一步終止2023/2/6數(shù)據庫原理與應用張申勇496.4模式的分解把低一級的關系模式分解為若干個高一級的關系模式的方法不是唯一的只有能夠保證分解后的關系模式與原關系模式等價,分解方法才有意義2023/2/6關系模式分解的標準三種模式分解等價的定義: ⒈分解具有無損連接性 ⒉分解要保持函數(shù)依賴 ⒊分解既要保持函數(shù)依賴,又要具有無損連接性2023/2/6關系模式的分解準則模式分解要滿足:模式分解具有無損連接性;模式分解能夠保持函數(shù)依賴。
無損連接是指分解后的關系通過自然連接可以恢復成原來的關系,即通過自然連接得到的關系與原來的關系相比,既不多出信息、又不丟失信息。
保持函數(shù)依賴分解是指在模式的分解過程中,函數(shù)依賴不能丟失的特性,即模式分解不能破壞原來的語義。2023/2/6關系模式的分解準則(續(xù))
例:S-D-L(Sno,Dept,Loc)有函數(shù)依賴:
Sno→Dept,Dept→Loc不是第三范式的。至少可以有三種分解方案,分別為:方案1:S-L(Sno,Loc),D-L(Dept,Loc)方案2:S-D(Sno,Dept),S-L(Sno,Loc)方案3:S-D(Sno,Dept),D-L(Dept,Loc)這三種分解方案得到的關系模式都是第三范式的,那么如何比較這三種方案的好壞呢?由此在將一個關系模式分解為多個關系模式時除了提高規(guī)范化程度之外,還需要考慮其他的一些因素。2023/2/6關系模式的分解準則(續(xù))將一個關系模式R<U,F(xiàn)>分解為若干個關系模式R1<U1,F(xiàn)1>,R2<U2,F(xiàn)2>,…,Rn<Un,F(xiàn)n>,意味著將存儲在一張二維表r中的數(shù)據分散到了若干個二維表r1,r2,…,rn中。這樣的分解應該不丟失信息,即能通過對關系r1,r2,…,rn的自然連接運算重新得到關系r中的所有信息。事實上,將關系r投影為r1,r2,…,rn時不會丟失信息,關鍵是對r1,r2,…,rn做自然連接時可能產生一些r中原來沒有的元組,從而無法區(qū)別哪些元組是r中原來有的,即數(shù)據庫中應該存在的數(shù)據,哪些是不應該有的。在這個意義上就丟失了信息。2023/2/6關系模式的分解準則(續(xù))這三種分解方案是否都滿足分解要求呢?假設此關系模式的數(shù)據如表所示,此關系用r表示。Sno
Dept
Loc
S01D1L1S02D2L2S03D2L2S04D3L12023/2/6關系模式的分解準則(續(xù))若按方案1將S-D-L投影到S-L和D-L的屬性上,得到如左邊兩個表所示的關系。做自然連接得到結果如右表所示。Sno
Loc
S01L1S02L2S03L2S04L1Dept
Loc
D1L1D2L2D3L1Sno
Dept
Loc
S01D1L1S01D3L1S02D2L2S03D2L2S04D1L1S04D3L12023/2/6關系模式的分解準則(續(xù))無損連接性將關系模式R<U,F(xiàn)>分解為個關系模式R1<U1,F(xiàn)1>,R2<U2,F(xiàn)2>,…,Rn<Un,F(xiàn)n>,若對于R
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寧夏回族自治區(qū)吳忠市鹽池縣2024-2025學年高二下學期期末考試政治試題(含解析)
- 2026屆廣東東莞市化學高二上期末達標檢測試題含答案
- 消防與應急知識培訓課件
- 2025居民汽車租賃合同范本
- 農村家庭農場綜合服務與管理合同
- 2025年法律資格考試復習試卷及答案
- 2025年法律法規(guī)知識考試試題及答案
- 地理知識培訓教材課件
- 吉林省“選調生(冰雪經濟方向)”專項面試經典題及答案
- 地球運動說課課件模板
- 巡察整改工作課件模板
- 2025年事業(yè)單位工勤技能-河南-河南農機駕駛維修工一級(高級技師)歷年參考題庫含答案解析(5套)
- 2025年幼兒園教師崗位聘任協(xié)議(含資格認證及薪酬激勵)
- 成都東部集團有限公司招聘考試真題2024
- 銀行收息管理辦法
- 海外房產投資項目方案(3篇)
- 初中地理學科課程規(guī)劃方案
- 定額〔2025〕1號文-關于發(fā)布2018版電力建設工程概預算定額2024年度價格水平調整的通知
- 高一英語必修一試卷(含答案)(適合測試)
- 《一次函數(shù)的圖像》-完整版課件
- 電子束曝光機說明書
評論
0/150
提交評論