版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第6章 關(guān)系數(shù)據(jù)理論 6.1問題的提出6.2規(guī)范化15.1 問題的提出關(guān)系數(shù)據(jù)庫邏輯設(shè)計(jì)針對(duì)具體問題,如何構(gòu)造一個(gè)適合于它的數(shù)據(jù)模式數(shù)據(jù)庫邏輯設(shè)計(jì)的工具關(guān)系數(shù)據(jù)庫的規(guī)范化理論2關(guān)系模式簡記為:R(A1,A2,An)形式化表示為:五元組 R( U, D, dom,F(xiàn))關(guān)系名屬性集合域集合屬性向域的映象集合屬性間數(shù)據(jù)的依賴關(guān)系集合例子:選修關(guān)系 可簡記為:SC(Sno,Cno,G)形式化表示為:SC ( U, D, dom,F(xiàn))U=Sno,Cno,G D=字符型,數(shù)值型dom(Sno)=dom(Cno)=字符型; dom(G)=數(shù)值型;F(Sno,Cno)G三元組 R( U, F)3數(shù)據(jù)依賴是通過
2、一個(gè)關(guān)系中屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間的相互關(guān)系是現(xiàn)實(shí)世界屬性間相互聯(lián)系的抽象是數(shù)據(jù)內(nèi)在的性質(zhì)是語義的體現(xiàn)數(shù)據(jù)依賴的類型函數(shù)依賴(Functional Dependency,簡記為FD)多值依賴(Multivalued Dependency,簡記為MVD) 例如:p1794實(shí)例:要求設(shè)計(jì)一個(gè)教學(xué)管理數(shù)據(jù)庫,面臨的對(duì)象有:學(xué)生:用學(xué)號(hào)Sno描述. 系:用系名Sdept描述系主任:用姓名Mn描述. 課程:用課程名Cname描述成績:用分?jǐn)?shù)G描述U=Sno,Sdept,Mn,Cname,G由現(xiàn)實(shí)世界已知:一個(gè)系有若干學(xué)生,但一個(gè)學(xué)生只屬于一個(gè)系.一個(gè)系只有一名系主任.一個(gè)學(xué)生可以選修多門課程,
3、每門課程有若干學(xué)生選修.每個(gè)學(xué)生學(xué)習(xí)每一門課程有一個(gè)成績.F=SnoSdept,SdeptMn,(Sno,Cname)G5SnoCnameSdeptMnG函數(shù)依賴圖:這個(gè)教學(xué)管理數(shù)據(jù)庫模式S(U,F)有以下三個(gè)“毛病”: p171(1)插入異常(2)刪除異常(3)冗余太大把模式S(U,F)分解為三個(gè)模式:( 稱為規(guī)范化的過程)S(Sno, Sdept, SnoSdept)Sg(Sno, Cname, G, (Sno,Cname)G)Dept(Sdept ,Mn , SdeptMn)66.2規(guī)范化6.2.1函數(shù)依賴1.屬性間的聯(lián)系 一對(duì)一聯(lián)系一對(duì)多聯(lián)系多對(duì)多聯(lián)系例如:S(U,F)U=Sno,Sd
4、ept,Mn,Cname,G72.函數(shù)依賴定義:設(shè)R(U)是屬性集U上的關(guān)系.X,Y是U的子集.若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依賴于X,記為XY.例子:R(Sno,Sdept,Mn,Cname,G)SnoSdept SdeptMn(Sno,Cname)GMnSdeptSnoGCnameG在一個(gè)關(guān)系模式中設(shè)有屬性集X,Y:如果X與Y是一對(duì)一聯(lián)系XY , YX一對(duì)多聯(lián)系YX多對(duì)多聯(lián)系XY , YX8一些符號(hào):XY,但YX則稱XY是非平凡的函數(shù)依賴.例子:R(Sno,Sdept,Mn,Cname,G)(S
5、no,Cname)Cname(Sno,Cname)GXY,但YX則稱XY是平凡的函數(shù)依賴.平凡函數(shù)依賴非平凡函數(shù)依賴若XY,則X稱為決定因素.若XY,YX,則記為XY例子: SdeptMn若Y函數(shù)不依賴于X,則記為XY例子:SnoGCnameG9Sc(Sno,Cno,Grade)定義:在R(U)中,如果XY,并且對(duì)于X的任何一個(gè)真子集 , 都有 Y,則稱Y對(duì)X完全函數(shù)依賴,記為 若XY,但Y不完全函數(shù)依賴于X,則稱Y對(duì)X部分函 數(shù)依賴,記為例子:R(Sno,Sname,Sage,Sdept)10定義:在R(U)中,如果XY,(Y X),YX,YZ,則稱Z對(duì)X 傳遞函數(shù)依賴.記為: 在R(U)中
6、,如果XY,(Y X),YX,YZ,則稱Z對(duì)X 直接函數(shù)依賴.記為:例子1:R(Sno,Sname,Sage,Sdept)如果姓名沒有重復(fù):SnoSname SnameSno SnameSage例子2: R(Sno,Sdept,Mn,Cname,G)SnoSdept SdeptSno sdeptMn11定義:設(shè)K是R(U,F)中的屬性組合,若 則K為R的侯選碼.若侯選碼多于一個(gè)則選取其中一個(gè)為主碼.包含在任何候選碼中的屬性,稱為主屬性.不包含在任何一個(gè)侯選碼中的屬性,稱為非主屬性.例子:R(Sno,Sdept,Mn,Cname,G)(Sno)U(Sno,Sdept)U(Sno,Sdept,Mn
7、)U(Sno,Sdept,Mn,Cname)U (存在部分函數(shù)依賴)(Sno,Sdept,Mn,Cname,G)U (存在部分函數(shù)依賴)(Sno,Cname)U(Sno,Cname,G)U (存在部分函數(shù)依賴)侯選碼:(Sno,Cname)(Cno)U12例子1:關(guān)系 S(S#,SN,SD,SA)關(guān)系S的候選碼:(S#) (SN)關(guān)系S的主碼:(S#)關(guān)系S的主屬性:S# SN關(guān)系S的非主屬性:SD SA例子2:關(guān)系SC(S#,C#,G)關(guān)系SC的候選碼:關(guān)系SC的主碼:關(guān)系SC的主屬性:關(guān)系SC的非主屬性:(S#,C#)(S#,C#)S# C#G例子3:關(guān)系R(P,W,A)關(guān)系R的候選碼:(
8、P,W,A)關(guān)系R的主碼:(P,W,A)關(guān)系R的主屬性:P W A關(guān)系R的非主屬性:全碼13定義:關(guān)系模式R中屬性或?qū)傩越MX并非R的碼,但X是另一個(gè)關(guān)系模式的碼,則稱X是R的外部碼,也稱外碼.例子: Sc(sno,cno,G) S(Sno,Sname,Sdept,Sage)屬性Sno是SC的外碼例子:Dept(Sdept ,Mn , SdeptMn)S(Sno,Sname,Sdept,Sage)屬性Sdept是S的外碼145.2.2 范式1NF2NF3NF4NFBCNF5NF規(guī)范化: 一個(gè)低一級(jí)范式的關(guān)系模式,通過模式分解轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式的集合.5NF 4NF BCNF 3NF
9、 2NF 1NF155.2.3 1NF1NF的定義如果一個(gè)關(guān)系模式R的所有屬性都是不可分的基本數(shù)據(jù)項(xiàng),則R1NF。第一范式是對(duì)關(guān)系模式的最起碼的要求。不滿足第一范式的數(shù)據(jù)庫模式不能稱為關(guān)系數(shù)據(jù)庫。但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式。例子:S(U,F)U=Sno,Sdept,Mn,Cname,GF=SnoSdept,SdeptMn, SnoMn, (Sno,Cname)G165.2.4 2NF定義 :若R1NF,且每一個(gè)非主屬性完全函數(shù)依賴于碼, 則R 2NF例子1: 判定關(guān)系模式SC(Sno,Cno,G)是否屬于2NF.SC 1NF(2)候選碼:(Sno,Cno) 主屬性:
10、Sno,Cno 非主屬性:G SnoG CnoG SC 2NF17例子2: 判定關(guān)系模式S-L-C(Sno,Sdept,Sloc,Cno,G)是否屬 于2NF. 注:Sloc為學(xué)生住處,假設(shè)每個(gè)系的學(xué)生住在同一個(gè)地方。S-L-C的函數(shù)依賴有:SnoSdeptSdeptSlocSnoSloc(Sno,Cno)GSnoCnoGSdeptSloc函數(shù)依賴圖:18S-L-C 1NF(2)候選碼:(Sno,Cno) 主屬性: Sno,Cno 非主屬性:Sdept,Sloc,G SnoG CnoG SnoSdept SnoSLoc S-L-C2NF解:19關(guān)系模式S-L-C (Sno,Sdept,Sloc
11、,Cno,G)存在以下問題:(1)插入異常(2)刪除異常(3)修改復(fù)雜解決的方法:分解模式把關(guān)系模式S-L-C分解為: SC(Sno,Cno,G) S-L(Sno,Sdept,Sloc)(例:Sno95102,SdeptIS,SlocN的插入)(例:Sno95001,SdeptCS,Cno=3的刪除)(例:Sno95004,SdeptIS, SlocN 轉(zhuǎn)系)原因 Sdept、 Sloc部分函數(shù)依賴于碼(Sno,Cno)。205.2.5 3NF定義:若R2NF,且每一個(gè)非主屬性都 不傳遞依賴于碼, 則R3NF。例 :分析關(guān)系模式SC是否是3NF。解 : SC(SNO,CNO,G) (1)SC2
12、NF (2)候選碼: (SNO,CNO) 非主屬性: G 無 傳遞依賴存在 SC3NF SnoCnoGSC21例 :分析關(guān)系模式S-L是否是3NF。解 : S-L(SNO,SDEPT,SLOC) (1)S-L2NF (2)候選碼: SNO 非主屬性: SDEPT,SLOC SNOSDEPT SDEPTSNO, SDEPTSLOC S-L3NFSNO SLOC傳遞SnoSdeptSloc22關(guān)系模式S-L(SNO,SDEPT,SLOC)不屬于3NF,它存在下列問題: (1)插入異常 (2)刪除異常 (3)修改復(fù)雜解決的方法:將S-L分解:S-L(SNO,SDEPT,SLOC)S-D(SNO,SD
13、EPT)D-L(SDEPT,SLOC)3NF3NF(例:SdeptMA,Sloc4A的插入)(例:Sno95001,SdeptCS,Sloc=D的刪除)(例:SdeptIS, SlocN 系換地址)原因 Sloc傳遞函數(shù)依賴于碼(Sno)。23S-L-CS-LS-D(SNO,SDEPT)D-L(SDEPT,SLOC)SC(SNO,CNO,G)3NF3NF3NF關(guān)系模式S-L-C S(Sno,Sdept,Sloc,Cno,G)經(jīng)過2次分解后:(1)插入無異常(2)刪除無異常(3)修改不復(fù)雜3NF消除了非主屬性對(duì)候選碼的: (1)部份函數(shù)依賴 (2)傳遞函數(shù)依賴24例:關(guān)系模式STJ(S,T,J)
14、S表示學(xué)生,T表示教師,J表示課程。每一個(gè)教師只教一門課。每門課有若干教師,某一學(xué)生選定某門課程,就對(duì)應(yīng)一個(gè)固定的教師。某個(gè)學(xué)生選修某個(gè)教師的課就確定了所選課的名稱 。J與T是一對(duì)多聯(lián)系:TJS與J是多對(duì)多聯(lián)系:S與T是多對(duì)多聯(lián)系:(S,J)T(S,T)J如圖:SJTSTJ25分析模式STJ(S,T,J):(1)STJ1NF(2)候選碼:(S,T) (S,J) 非主屬性:無 STJ3NF存在問題:(1)插入異常(2)刪除異常(3)數(shù)據(jù)冗余(例:T=張三, J=物理的插入)(例:S=95001,T=張三, J=物理的刪除)(例:T=張三, J=物理 老師換課)263NF還隱含主屬性對(duì)候選碼:(1
15、)部份函數(shù)依賴(2)傳遞函數(shù)依賴275.2.6 BCNF(擴(kuò)展的第三范式)定義:若R3NF,且每一個(gè)決定因素都包含碼。則 R BCNF例1 :分析關(guān)系模式 S(SNO,SNAME,SDEPT,SAGE) (1)S 1NF (2)候選碼:SNO 非主屬性:SNAME,SDEPT,SAGE S 2NFFFFSNO SNAME SNOSDEPT SNOSAGE28(3)非主屬性無傳遞函數(shù)依賴于碼 S 3NF(4)決定因素只有SNO S BCNF例2 :分析關(guān)系模式 SC(SNO,CNO,G) (1)SC 3NF (2)(SNO,CNO)G 決定因素(SNO,CNO)是碼 SC BCNF29例3 SJ
16、P(S,J,P)中,S是學(xué)生,J 表示課程,P表示 名次。每一個(gè)學(xué)生選修每門課程的成績有一定的名 次,每門課程中每一名次只有一個(gè)學(xué)生(即沒有并 列名次)。由語義可得到下面的函數(shù)依賴: ( S,J)P (J,P)S分析: (1)SJP1NF (2)候選碼:(S,J) (J,P) 非主屬性:無 SJP3NF (3)決定因素(S,J) (J,P)是碼 SJPBCNF30 (1)STJ3NF (2)候選碼:(S,J) (S,T) TJ 決定因素T不包含碼STJBCNFSJTSTJ例4 : 分析關(guān)系模式 STJ(S,T,J)31STJ存在下列問題:(1)插入異常 (2)刪除異常 (3)數(shù)據(jù)冗余解決的方法
17、:分解STJ(S,T,J)STJ(S,T,J)ST(S,T)TJ(T,J) BCNF BCNFSTSTTJTJ32小結(jié):(1)如果只考慮函數(shù)依賴,則屬于BCNF的關(guān)系模式規(guī) 范化程度已經(jīng)是最高的了。(2)如果考慮多值依賴,則屬于4NF的關(guān)系模式規(guī)范化 程度已經(jīng)是最高的了。 (3)函數(shù)依賴是多值依賴的一種特殊情況,而多值依賴 又是連接依賴的一種特殊情況。33小結(jié): 規(guī)范化的基本思想是: P182 消除不合適的數(shù)據(jù)依賴各關(guān)系模式達(dá)到某種程度的“分離”采用“一事一地”的模式設(shè)計(jì)原則 讓一個(gè)關(guān)系描述一個(gè)概念、一個(gè)實(shí)體或者實(shí)體間的一種聯(lián) 系。若多于一個(gè)概念就把它“分離”出去所謂規(guī)范化實(shí)質(zhì)上是概念的單一化34不能說規(guī)范化程度越高的關(guān)系模式就越好在設(shè)計(jì)數(shù)據(jù)庫模式結(jié)構(gòu)時(shí),必須對(duì)現(xiàn)實(shí)世界的實(shí)際情況和用戶應(yīng)用需求作進(jìn)一步分析,確定一個(gè)合適的、能夠反映現(xiàn)實(shí)世界的模式上面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公交輪胎采購合同模板
- 小賣鋪刷卡合同范例
- 文化墻彩繪合同范例
- 地?zé)峥照{(diào)安裝合同范例
- 土地出售合同模板
- 新客戶付款合同范例
- 共同合作代理銷售合同范例
- 徒弟整平合同范例
- 招聘用合同模板
- 合同模板字體顏色
- 再生資源回收利用體系建設(shè)項(xiàng)目方案
- 循證護(hù)理學(xué)(理論部分)智慧樹知到答案章節(jié)測(cè)試2023年復(fù)旦大學(xué)
- 醫(yī)院開展老年友善醫(yī)療機(jī)構(gòu)建設(shè)工作總結(jié)
- 馬克思主義基本原理概論智慧樹知到答案章節(jié)測(cè)試2023年泰山學(xué)院
- 餐飲檔口和門店消防安全培訓(xùn)
- 噴錫培訓(xùn)教程
- 幼兒園衛(wèi)生知識(shí)講座
- (完整)土地復(fù)耕實(shí)施方案
- 馬工程政治學(xué)概論思考題答案
- 關(guān)于加強(qiáng)校園欺凌行為預(yù)防治理的說明報(bào)告
- 汽車露營營地質(zhì)量5c標(biāo)準(zhǔn)等級(jí)劃分認(rèn)定細(xì)則(2021版)
評(píng)論
0/150
提交評(píng)論