關(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頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

關(guān)系數(shù)據(jù)模型ODL、E/R到關(guān)系模型的轉(zhuǎn)換關(guān)系模型的設(shè)計理論在聯(lián)系的雙方均有聯(lián)系的描述→冗余5LocustLn.創(chuàng)建另一模式,包含前述FD中的決定因素及剩余的所有屬性((U-X+)∪X)也可以用來驗證設(shè)計結(jié)果的合理性,用其指導(dǎo)優(yōu)化過程多值依賴(MVD)——按的定義EmpireStrikesBack針對每個元素建立一個元組name→→street,city5LocustLn.1關(guān)系模型的基本概念F的閉包是指F邏輯蘊涵的所有函數(shù)依賴的集合,記作F+ODL聯(lián)系→關(guān)系描述(續(xù))會產(chǎn)生冗余→需規(guī)范化數(shù)據(jù)依賴是針對數(shù)據(jù)模式,而不是特定的實例t→c //每位教師只上一門課§3.1關(guān)系模型的基本概念邏輯數(shù)據(jù)模型是用戶從數(shù)據(jù)庫所看到的數(shù)據(jù)模型與DBMS有關(guān)層次、網(wǎng)狀、關(guān)系、面向?qū)ο箨P(guān)系數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu)兩維的扁平表數(shù)據(jù)操作關(guān)系代數(shù)關(guān)系演算數(shù)據(jù)的完整性實體完整性參照完整性用戶定義的完整性現(xiàn)實世界的實體以及實體間的各種聯(lián)系均用關(guān)系表示關(guān)系數(shù)據(jù)庫系統(tǒng)是建立在關(guān)系模型上的數(shù)據(jù)庫系統(tǒng)關(guān)系數(shù)據(jù)庫是表的集合模型和模式數(shù)據(jù)模型是描述數(shù)據(jù)的手段數(shù)據(jù)模式是用給定的數(shù)據(jù)模型對具體數(shù)據(jù)的描述屬性元組域型值聯(lián)系關(guān)系的聯(lián)系是通過關(guān)聯(lián)屬性的值連接的SnoSnameSsexSagesdept95001張三男25CS95002李四女24CS96101王五男23MA96001趙六男23CS關(guān)系(表)屬性(列、字段)元組(行、記錄)域(string,{男,女})Student(sno,sname,ssex,sage,sdept)關(guān)系實例關(guān)系→實體集、類關(guān)系的實例→元組的集合元組→實體、對象數(shù)據(jù)庫實例→給定時刻數(shù)據(jù)庫中數(shù)據(jù)的一個快照§3.2從ODL設(shè)計到關(guān)系設(shè)計ODL設(shè)計是概念設(shè)計的產(chǎn)物(UsingOO)ODL描述→關(guān)系模式→實現(xiàn)ODL屬性→關(guān)系屬性原子屬性類→關(guān)系屬性→屬性非原子屬性(復(fù)雜數(shù)據(jù)類型)必須轉(zhuǎn)換成原子屬性記錄結(jié)構(gòu)結(jié)構(gòu)的每個item對應(yīng)一個屬性多值集合針對每個值建立一個元組會產(chǎn)生冗余→需規(guī)范化ODL屬性→關(guān)系屬性(續(xù))其他類型屬性(包、數(shù)組、列表)針對每個元素建立一個元組增加一個記數(shù)屬性,表示包的成員號定長數(shù)組擴展為多個屬性O(shè)DL聯(lián)系→關(guān)系描述單值聯(lián)系聯(lián)系的類型為一個類增加一個(組)屬性,存放相關(guān)類的鍵碼屬性(組)將類之間的聯(lián)系→關(guān)系之間的聯(lián)系ODL聯(lián)系→關(guān)系描述(續(xù))多值聯(lián)系聯(lián)系的類型為某個類的集合類型1:N、N:M增加一個鍵碼屬性為集合的每個成員建立一個元組其他原始屬性重復(fù)多次(與集合成員的個數(shù)相等)導(dǎo)致大量的冗余,需要規(guī)范化鍵碼是必需的選擇合適的屬性(組)作為鍵碼學(xué)號、工號、身份證號…...增加計數(shù)屬性聯(lián)系與反向聯(lián)系在聯(lián)系的雙方均有聯(lián)系的描述→冗余ODL:雙向描述E/R:相關(guān)的鍵碼值進行連接§3.3從E/R圖到關(guān)系的設(shè)計E/R與ODL描述的差異聯(lián)系作為獨立的概念←→聯(lián)系嵌套在類定義中結(jié)構(gòu)化數(shù)據(jù)←→允許使用集合、聚集類型聯(lián)系可以有屬性←→聯(lián)系無屬性E/R→關(guān)系模式→實現(xiàn)實體集到關(guān)系的轉(zhuǎn)換非弱實體集實體集名→關(guān)系名屬性→屬性弱實體集為弱實體集建立關(guān)系屬性:弱實體集的屬性+輔助實體集的鍵碼E/R聯(lián)系到關(guān)系的轉(zhuǎn)換用關(guān)系表示聯(lián)系聯(lián)系名→關(guān)系名屬性→屬性+相關(guān)實體集的鍵碼屬性(集)多向聯(lián)系的轉(zhuǎn)換注意,屬性的命名§3.4子類結(jié)構(gòu)到關(guān)系的轉(zhuǎn)換ODL中的子類一個對象完全屬于一個類子類繼承其超類的特性E/R中的子類分層結(jié)構(gòu)通過與ISA聯(lián)系有關(guān)的實體集進行擴展用關(guān)系表示ODL子類每個子類都有自己的關(guān)系包含該子類的所有特性(含繼承特性)在一個關(guān)系中含有所有屬性Movie(title,year,length,filmType,studioName,starName)Cartoon(title,year,length,filmType,studioName,starName,voice)MurderMystery(title,year,length,filmType,studioName,starName,weapon)Cartoon-MurderMystery(title,year,length,filmType,studioName,starName,voice,weapon)與ISA聯(lián)系有關(guān)的實體集擁有相同的鍵碼尋找關(guān)系的鍵碼(來自E/R)在聯(lián)系的雙方均有聯(lián)系的描述→冗余針對每個值建立一個元組關(guān)系的實例→元組的集合對給定X的值,則Y的取值與Z的取值無關(guān)傳遞依賴:sno→dept_manager在聯(lián)系的雙方均有聯(lián)系的描述→冗余對于關(guān)系R,若R∈1NF,且所有非平凡的多值依賴,其決定因素是候選碼,則R∈4NF。這些屬性函數(shù)決定該關(guān)系的所有其他屬性也可以用來驗證設(shè)計結(jié)果的合理性,用其指導(dǎo)優(yōu)化過程設(shè)R(U)是屬性集U上的一個關(guān)系。Movie(title,year,length,filmType,studioName,starName,voice,weapon)屬性→屬性+相關(guān)實體集的鍵碼屬性(集)123mapleSt.在關(guān)系模型中表示isa聯(lián)系子類的信息被分散到上層的幾個關(guān)系中與ISA聯(lián)系有關(guān)的實體集擁有相同的鍵碼Movie(title,year,length,filmType)Cartoon(title,year)MurderMystery(title,year,weapon)Voice(title,year,name)使用NULL值合并關(guān)系將關(guān)系描述成一個‘全集’屬性:所有可能的屬性描述:允許Null值層次越高,取Null值的屬性越多Movie(title,year,length,filmType,studioName,starName,voice,weapon)只是一種方法而已作業(yè)思考所有帶*的練習(xí),并上網(wǎng)查詢解答練習(xí)3.2.3/3.3.1/3.4.1/3.5.3/§3.5函數(shù)依賴數(shù)據(jù)依賴函數(shù)依賴多值依賴數(shù)據(jù)依賴是針對數(shù)據(jù)模式,而不是特定的實例函數(shù)依賴(FD)屬性之間的聯(lián)系假設(shè)給定X屬性的值,就知道Y的值,那么X函數(shù)決定Y如果R的兩個元組在屬性A1,A2,…,An上一致,則它們在另一個屬性B上也一致,那么A1,A2,…,An函數(shù)決定B,記作A1A2…An→BifA1A2…An→B1 then

A1A2…An→B2 A1A2…An→B1B2...Bm

……

A1A2…An→Bm關(guān)系的鍵碼如果一個或多個屬性的集合{A1A2…An}滿足如下條件,則該集合為關(guān)系R的鍵碼:1.這些屬性函數(shù)決定該關(guān)系的所有其他屬性2.{A1A2…An}的任何真子集都不能函數(shù)決定R的所有其他屬性超鍵碼包含鍵碼的屬性集稱為超鍵碼尋找關(guān)系的鍵碼(來自E/R)來自實體集的關(guān)系的鍵碼就是該實體集的鍵碼屬性對于二元聯(lián)系R:N:M,相關(guān)兩個實體的鍵碼都是R的鍵碼屬性N:1,多端實體集的鍵碼是R的加碼屬性1:1,任意一端實體集的鍵碼是R的鍵碼對于多向聯(lián)系R:如果多向聯(lián)系R有一個箭頭指向?qū)嶓w集E,則響應(yīng)的關(guān)系中,除了E的鍵碼以外,至少還存在一個鍵碼。尋找關(guān)系的鍵碼(來自O(shè)DL)來自O(shè)DL的關(guān)系的鍵碼不一定就是該類的鍵碼屬性對于單值聯(lián)系R:類C有一個指向類D的單值聯(lián)系,C的關(guān)系中包含D的鍵碼。C的鍵碼仍是相應(yīng)關(guān)系的鍵碼對于多值聯(lián)系R:被引用類的鍵碼加入到引用類的鍵碼組合稱為鍵碼§3.6函數(shù)依賴規(guī)則分解規(guī)則A1A2…An→B1B2...Bm等價于A1A2…An→Bi合并規(guī)則A1A2…An→Bi等價于A1A2…An→B1B2...Bm平凡的函數(shù)依賴如果對于函數(shù)依賴A1A2…An→B,B是A中的一個,則該函數(shù)依賴就是平凡的函數(shù)依賴平凡依賴是永恒的title,year→title非平凡如果B中至少有一個屬性不在A中title,year→year,length完全非平凡如果B中沒有一個屬性在A中title,year→length計算屬性的閉包閉包F的閉包是指F邏輯蘊涵的所有函數(shù)依賴的集合,記作F+閉包的意義檢驗給定的函數(shù)依賴是否蘊涵于某個函數(shù)依賴集S從給定的函數(shù)依賴,可以推導(dǎo)出蘊涵的函數(shù)依賴求閉包例:對關(guān)系R(A,B,C,D,E,F),給定函數(shù)依賴AB→C,BC→AD,D→E,CF→B,求{A,B}+關(guān)系的基與最小基任何一個能從中導(dǎo)出關(guān)系的所有依賴的給定依賴集,稱為該關(guān)系的一個基如果一個基的任何真子集都不能推導(dǎo)出該關(guān)系的依賴全集,則稱此基為最小基求函數(shù)依賴的最小基例:對關(guān)系R(A,B,C,D),有A→BC,B→C,A→B,AB→C,AC→D,求最小函數(shù)依賴集§3.7關(guān)系數(shù)據(jù)庫模式設(shè)計什么是好的數(shù)據(jù)庫設(shè)計體現(xiàn)客觀世界的信息無過度的冗余無插入異常無更新復(fù)雜無刪除異常titleyearlengthfilmTypestudioNamestarNameStarWars1977124colorFoxCarrieFisherStarWars1977124colorFoxMarkHamillStarWars1977124colorFoxHarrisonFordMightyDucks1991104colorDisneyEmilioEstevezWayne’sWorld199195colorParamountDanaCarveyWayne’sWorld199295colorParamountMikeMeyers冗余!更新復(fù)雜!刪除異常!異常的原因數(shù)據(jù)依賴的約束解決方法數(shù)據(jù)庫設(shè)計的規(guī)范化→分解子類的信息被分散到上層的幾個關(guān)系中關(guān)系的實例→元組的集合MarkHamill假設(shè)給定X屬性的值,就知道Y的值,那么X函數(shù)決定YA1A2…An→BmReturnoftheJedi聯(lián)系作為獨立的概念←→聯(lián)系嵌套在類定義中針對每個值建立一個元組結(jié)構(gòu)的每個item對應(yīng)一個屬性EmpireStrikesBackEmpireStrikesBack分解到高層范式(基于FD)2從ODL設(shè)計到關(guān)系設(shè)計多值依賴(MVD)——按的定義任何一個能從中導(dǎo)出關(guān)系的所有依賴的給定依賴集,稱為該關(guān)系的一個基范式(NormalForms)規(guī)范化一個關(guān)系滿足某個范式所規(guī)定的一系列條件時,它就屬于該范式可以用規(guī)范化要求來設(shè)計數(shù)據(jù)庫也可以用來驗證設(shè)計結(jié)果的合理性,用其指導(dǎo)優(yōu)化過程1NF→2NF→3NF→BCNF→4NF第一范式(1NF)當(dāng)且僅當(dāng)一個關(guān)系R中,每一個元組的每一個屬性只含有一個值時,該關(guān)系屬于第一范式。要求屬性是原子的第二范式(2NF)對于關(guān)系R,若R∈1NF,且每一個非主屬性完全函數(shù)依賴于碼,則R∈2NF。不能部分依賴于碼sc(sno,sname,cno,grade)sno,cno→gradesno→snamesnocnogradesname完全依賴非完全依賴第三范式(3NF)對于關(guān)系R,若R∈2NF,且每個非主屬性都不傳遞依賴于碼,則R∈3NF。主屬性可以傳遞依賴于碼student(sno,sname,sdept,dept_manager)sno→sname,sdeptsdept→dept_manager傳遞依賴:sno→dept_managersnosdeptsnamedept_managerBoyce/Codd范式(BCNF)對于關(guān)系R,若R∈1NF,且所有非平凡的函數(shù)依賴,其決定因素是候選碼,則R∈BCNF。sct(s,c,t) //學(xué)生,課程,教師t→c //每位教師只上一門課(s,c)→t(s,t)→c //每門課有若干位教師sctstcsct∈3NF,sct∈BCNF最高范式BCNF是基于函數(shù)依賴的最高范式但不是數(shù)據(jù)庫模式設(shè)計的最高范式范式優(yōu)化分解{A1,A2,…,An}={B1,B2,…,Bn}∪{C1,C2,…,Cn}分解的要求無損連接B∩C→B或B∩C→C保持依賴范式要求BC分解到高層范式(基于FD)找出一個不符合范式要求的FD(X→Y),并使其右端的屬性盡可能地多(求出X+)創(chuàng)建新的模式,包含上述FD的所有(左右)屬性(X+的所有屬性)創(chuàng)建另一模式,包含前述FD中的決定因素及剩余的所有屬性((U-X+)∪X)反復(fù)1~3,直至符合范式要求sct∈3NF,sct∈BCNFsct(s,c,t) //學(xué)生,課程,教師123mapleSt.在關(guān)系模型中表示isa聯(lián)系5LocustLn.Voice(title,year,name)F的閉包是指F邏輯蘊涵的所有函數(shù)依賴的集合,記作F+一個對象完全屬于一個類R1(name,title,year)Movie(title,year,length,filmType,studioName,starName)title,year→length123mapleSt.數(shù)據(jù)庫實例→給定時刻數(shù)據(jù)庫中數(shù)據(jù)的一個快照A1A2…An→B2 A1A2…An→B1B2.數(shù)據(jù)模式是用給定的數(shù)據(jù)模型對具體數(shù)據(jù)的描述§3.8多值依賴BCNF仍有異常namestreetcitytitleyearC.Fisher123mapleSt.HollywoodStarWars1977C.Fisher5LocustLn.MailbuStarWars1977C.Fisher123mapleSt.HollywoodEmpireStrikesBack1980C.Fisher5LocustLn.MailbuEmpireStrikesBack1980C.Fisher123mapleSt.HollywoodReturnoftheJedi1983C.Fisher5LocustLn.MailbuReturnoftheJedi1983多值依賴(MVD)——按的定義多值依賴(MVD)設(shè)R(U)是屬性集U上的一個關(guān)系。X、Y、Z是U的子集,且Z=U-X-Y。關(guān)系R(U)中多值依賴X→→Y成立,當(dāng)且僅當(dāng)對R(U)的任一元組r,給定一對(x,z)值,有一組y的值,這組值僅僅取決于x值,而與z值無關(guān)。對給定X的值,則Y的取值與Z的取值無關(guān)給定一對(x,z)值,有一組y的值namestreetcitytitleyearC.Fisher123mapleSt.HollywoodStarWars1977C.Fisher123mapleSt.HollywoodEmpireStrikesBack1980C.Fisher123mapleSt.HollywoodReturnoftheJedi1983C.Fisher5LocustLn.MailbuStarWars1977C.Fisher5LocustLn.MailbuEmpireStrikesBack1980C.Fisher5Lo

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論