




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第7章 關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論,7.1 函數(shù)依賴 7.2 關(guān)系規(guī)范化 7.3 關(guān)系模式的分解準(zhǔn)則,7.1 函數(shù)依賴,定義:如果有一個(gè)關(guān)系模式R(A1,A2,An),X 和Y 為A1,A2,An的子集,那么對(duì)于關(guān)系R中的任意一個(gè)X值,都只有一個(gè)Y 值與之對(duì)應(yīng),則稱X函數(shù)決定Y,或Y函數(shù)依賴于X。 例:Student(Sno, SName, Sdept, Sage) SnoSName, SnoSdept, SnoSage 例: SC(Sno, Cno, Grade) (Sno, Cno)Grade,一些術(shù)語(yǔ)和符號(hào),1. XY,但Y不包含于X,則稱XY是非平凡的函數(shù)依賴。如不作特別說(shuō)明,我們總是討論非
2、平凡函數(shù)依賴。 2. 如果Y不如果函數(shù)依賴于X,則記作X/Y。 3. 如果XY,則稱X為決定因子。 4. 如果XY,并且YX,則記作XY。,一些術(shù)語(yǔ)和符號(hào),5. 如果XY,并且對(duì)于X的一個(gè)任意真子集X 都有X /Y,則稱Y完全函數(shù)依賴于X,記作:,6.如果XY(非平凡函數(shù)依賴,并且Y/X)、YZ,則稱Z傳遞函數(shù)依賴于X。,如果XY成立,則稱Y部分函數(shù)依賴于X,記作:,示例,例1:有關(guān)系模式SC(Sno,Sname,Cno,Credit,Grade) 則函數(shù)依賴關(guān)系有: SnoSname (Sno, Cno) Sname (Sno, Cno) Grade,示例,例2:有關(guān)系模式S(Sno,Sna
3、me,Dept,Dept_master) 函數(shù)依賴關(guān)系有: Sno,由于:Sno Dept, Dept Dept_master 所以有:Sno Dept_master,Sname,為什么要討論函數(shù)依賴,存在問(wèn)題,數(shù)據(jù)冗余問(wèn)題 數(shù)據(jù)更新問(wèn)題 數(shù)據(jù)插入問(wèn)題 數(shù)據(jù)刪除問(wèn)題,7.2 關(guān)系規(guī)范化,7.2.1 關(guān)系模式中的碼 7.2.2 范式,7.2.1 關(guān)系模式中的碼,1.候選碼:設(shè)K為R (U,F)中的屬性或?qū)傩越M,若K fU,則K為R候選碼。(K為決定R全部屬性值的最小屬性組)。 2.主碼:關(guān)系R (U,F)中可能有多個(gè)候選碼,則選其中一個(gè)作為主碼。 3.全碼:候選碼為整個(gè)屬性組。 主屬性與非主屬性
4、: 在R (U,F)中,包含在任一候選碼中的屬性稱為主屬性,不包含在任一候選碼中的屬性稱為非主屬性,示例,例:SC(SNO,CNO,Grade) 候選碼:(SNO,CNO),也為主碼 主屬性:SNO,CNO,非主屬性:Grade 例:R(P,W,A), P演奏者,W作品,A聽(tīng)眾 語(yǔ)義:一個(gè)演奏者可演奏多個(gè)作品,某一作品可被多個(gè)演奏者演奏;聽(tīng)眾也可欣賞不同演奏者個(gè)不同作品。 候選碼:(P,W,A)全碼(演奏者、作品、聽(tīng)眾 一場(chǎng)音樂(lè)會(huì)),7.2.1 關(guān)系模式中的碼(續(xù)),外碼:用于關(guān)系表之間建立關(guān)聯(lián)的屬性(組)。 定義:若R(U,F(xiàn))的屬性(組)X(X屬于U)是另一個(gè)關(guān)系S的主碼,則稱X為R的外碼
5、。,7.2.2 范式,關(guān)系數(shù)據(jù)庫(kù)中的關(guān)系要滿足一定的要求,滿足不同程度要求的為不同的范式。,第一范式,第一范式:不包含重復(fù)組的關(guān)系。,第二范式,2.第二范式:如果R(U,F)1NF,并且R中的每個(gè)非主屬性都完全函數(shù)依賴于主碼,則R(U,F)2NF 例: S-L-C(Sno,Sdept,SLOC,Cno,Grade) 有:Sno P SLOC,不是2NF。,分解辦法,步驟1:對(duì)于組成主碼的屬性集合的每一個(gè)子集,用它作為主碼構(gòu)成一個(gè)表。 步驟2:將依賴于這些主碼的屬性放置到相應(yīng)的表中。 步驟3:去掉只由主碼的子集構(gòu)成的表。,分解示例,對(duì)于S-L-C表,首先分解為如下形式的三張表: S-L(Sno,
6、) C(Cno,) S-C(Sno, Cno,) 然后,將依賴于這些主碼的屬性放置到相應(yīng)的表中 S-L(Sno,Sdept, Sloc) C(Cno) S-C(Sno, Cno, Grade) 最后,去掉只由主碼的子集構(gòu)成的表,最終分解為: S-L(Sno,Sdept, Sloc) S-C(Sno, Cno, Grade),S-L(Sno,Sdept, Sloc)存在問(wèn)題,數(shù)據(jù)冗余 :有多少個(gè)學(xué)生就有多少個(gè)重復(fù)的Sdept和SLOC; 插入異常:當(dāng)新建一個(gè)系時(shí),若還沒(méi)有招收學(xué)生,則無(wú)法插入;,第三范式,定義:如果R(U,F)2NF,并且所有非主屬性都不傳遞依賴于主碼,則R(U,F)3NF。 例
7、:S-L(Sno,Sdept,SLOC) Sno傳遞SLOC, 不是3NF,分解過(guò)程,(1)對(duì)于不是候選碼的每個(gè)決定因子,從表中刪去依賴于它的所有屬性; (2)新建一個(gè)表,新表中包含在原表中所有依賴于該決定因子的屬性; (3)將決定因子作為新表的主碼。 S-L分解后的關(guān)系模式為: S-D(Sno, Sdept) S-L(Sdept, Sloc),BCNF,例:關(guān)系模式:CSZ(City,Street,Zip) 語(yǔ)義:城市和街道可以決定郵政編碼,郵政編碼可以決定城市。 候選碼:(City,Street),( Street,Zip) F:(City,Street) Zip ,Zip City 是3
8、NF 存在的問(wèn)題: 插入異常,刪除異常,BCNF(續(xù)),R1NF,且能決定其它屬性取值的屬性(組)必定包含碼,則其是BCNF 如果一個(gè)關(guān)系的每個(gè)決定因素都是候選碼,則其是BCNF 如果一個(gè)關(guān)系的每個(gè)函數(shù)依賴的左部都是候選碼,則其是BCNF 如果R3NF,并且不存在主屬性對(duì)非主屬性的函數(shù)依賴,則其是BCNF,BCNF和3NF的關(guān)系,若RBCNF,則R3NF 若R3NF,則R不一定屬于BCNF,規(guī)范化舉例,設(shè)有關(guān)系模式:Student(學(xué)號(hào),姓名,導(dǎo)師號(hào),導(dǎo)師名,課程號(hào),課程說(shuō)明,成績(jī)) 語(yǔ)義:一名學(xué)生只有一個(gè)導(dǎo)師,學(xué)生可選多門課。 將其規(guī)范化成3NF的。,2指出下列關(guān)系模式是第幾范式?并說(shuō)明理由
9、。 (1) R(X,Y,Z) FXYZ (2) R(x,Y,z) FYz,XZY (3) R(X,Y,Z) FYZ,YX,XYZ (4) R(x,Y,z) FXY,XZ (5) R(x,Y,Z) FXYZ (6) R(W,X,Y,Z) FXZ,WXY,1此表是1NF,其函數(shù)依賴為: 學(xué)號(hào)p姓名,學(xué)號(hào)p導(dǎo)師號(hào),學(xué)號(hào)p導(dǎo)師名,課程號(hào)p課程說(shuō)明, (學(xué)號(hào),課程號(hào))成績(jī) 主碼為(學(xué)號(hào),課程號(hào)) 存在部分函數(shù)依賴關(guān)系,不是2NF,首先將其分解為2NF。,學(xué)生(學(xué)號(hào),姓名,導(dǎo)師號(hào),導(dǎo)師名), 課程(課程號(hào),課程說(shuō)明), 成績(jī)(學(xué)號(hào),課程號(hào),成績(jī)) 均為2NF,2判是否為3NF “學(xué)生”表不是3NF,其函數(shù)
10、依賴為: 學(xué)號(hào)姓名,學(xué)號(hào)導(dǎo)師號(hào),導(dǎo)師號(hào)p導(dǎo)師名,學(xué)號(hào)傳遞導(dǎo)師名 消除依賴于決定者的屬性,把它們放在一個(gè)單獨(dú)的表中,得到: 學(xué)生(學(xué)號(hào),姓名,導(dǎo)師號(hào)),導(dǎo)師(導(dǎo)師號(hào),導(dǎo)師名),7.3 關(guān)系模式的分解準(zhǔn)則,模式分解要滿足: 模式分解具有無(wú)損連接性; 模式分解能夠保持函數(shù)依賴。 無(wú)損連接是指分解后的關(guān)系通過(guò)自然連接可以恢復(fù)成原來(lái)的關(guān)系,即通過(guò)自然連接得到的關(guān)系與原來(lái)的關(guān)系相比,既不多出信息、又不丟失信息。 保持函數(shù)依賴分解是指在模式的分解過(guò)程中,函數(shù)依賴不能丟失的特性,即模式分解不能破壞原來(lái)的語(yǔ)義。,關(guān)系模式的分解準(zhǔn)則(續(xù)),例:S-D-L(Sno,Dept,Loc)有函數(shù)依賴: Sno Dept,
11、 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ān)系模式都是第三范式的,那么如何比較這三種方案的好壞呢?由此在將一個(gè)關(guān)系模式分解為多個(gè)關(guān)系模式時(shí)除了提高規(guī)范化程度之外,還需要考慮其他的一些因素。,關(guān)系模式的分解準(zhǔn)則(續(xù)),將一個(gè)關(guān)系模式R分解為若干個(gè)關(guān)系模式R1,R2,Rn,意味著將存儲(chǔ)在一張二維表r中的數(shù)據(jù)分散到了若干個(gè)二維表r1,r2,rn中。這樣的分解應(yīng)該不丟失
12、信息,即能通過(guò)對(duì)關(guān)系r1,r2,rn的自然連接運(yùn)算重新得到關(guān)系r中的所有信息。 注意:將關(guān)系r投影為r1,r2,rn時(shí)不會(huì)丟失信息,關(guān)鍵是對(duì)r1,r2,rn做自然連接時(shí)可能產(chǎn)生一些r中原來(lái)沒(méi)有的元組,從而無(wú)法區(qū)別哪些元組是r中原來(lái)有的,即數(shù)據(jù)庫(kù)中應(yīng)該存在的數(shù)據(jù),哪些是不應(yīng)該有的。在這個(gè)意義上就丟失了信息。,關(guān)系模式的分解準(zhǔn)則(續(xù)),這三種分解方案是否都滿足分解要求呢? 假設(shè)此關(guān)系模式的數(shù)據(jù)如表所示,此關(guān)系用r表示。,關(guān)系模式的分解準(zhǔn)則(續(xù)),若按方案1將S-D-L投影到S-L和D-L的屬性上,得到如左邊兩個(gè)表所示的關(guān)系。做自然連接得到結(jié)果如右表所示。,關(guān)系模式的分解準(zhǔn)則(續(xù)),無(wú)損連接性 將關(guān)
13、系模式R分解為個(gè)關(guān)系模式R1,R2,Rn,若對(duì)于R中的任何一個(gè)可能的r,都有r r1*r2*rn,即r在R1,R2,Rn上的投影的自然連接等于r,則稱關(guān)系模式R的這個(gè)分解具有無(wú)損連接性。,關(guān)系模式的分解準(zhǔn)則(續(xù)),再分析方案2。將S-D-L投影到S-D,S-L的屬性上,得到的關(guān)系如左邊兩個(gè)表所示。做自然連接得到的關(guān)系右表所示。,關(guān)系模式的分解準(zhǔn)則(續(xù)),分析: 方案2自然連接后恢復(fù)成了原來(lái)的關(guān)系,因此,分解方案2具有無(wú)損連接性。 但分解方案2沒(méi)有保持原有的函數(shù)依賴關(guān)系,也不是好的分解方法。,關(guān)系模式的分解準(zhǔn)則(續(xù)),分解方案3既滿足無(wú)損連接性,又保持了原有的函數(shù)依賴關(guān)系,因此它是有個(gè)好的分解方法。 分解具有無(wú)損連接性和分解保持函數(shù)依賴是兩個(gè)獨(dú)立的標(biāo)準(zhǔn)。具有無(wú)損連接性的分解不一定保持函數(shù)依賴;保持
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 私人借款合同范本【常用版】8篇
- 公路路基工程施工合同
- 2025年江蘇貨運(yùn)從業(yè)資格證模擬考試下載什么軟件
- 中小企業(yè)合同管理流程控制
- 2025年迪慶貨運(yùn)從業(yè)資格證模擬考試題目
- 教育培訓(xùn)范文及案例分享
- 勞務(wù)分包合同臨建
- 訂餐配送合同7篇
- 合同協(xié)議鋼材采購(gòu)合同8篇
- 高層精裝二手房買賣合同書7篇
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 旋轉(zhuǎn)類機(jī)電設(shè)備故障預(yù)測(cè)、診斷研究
- 旅游電子商務(wù)(第2版) 課件全套 周春林 項(xiàng)目1-8 電子商務(wù)概述-旅游電子商務(wù)數(shù)據(jù)挖掘
- 企業(yè)承包經(jīng)營(yíng)合同范本
- 中學(xué)校長(zhǎng)2025春開(kāi)學(xué)典禮講話:以黃旭華之魂、DeepSeek 之智、哪吒之氣逐夢(mèng)新程
- 【課件】自然環(huán)境課件-2024-2025學(xué)年七年級(jí)地理下冊(cè)人教版
- 2025年01月公安部第三研究所公開(kāi)招聘人民警察筆試筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025-2030全球鋰電池用隔膜行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年南京鐵道職業(yè)技術(shù)學(xué)院高職單招高職單招英語(yǔ)2016-2024歷年頻考點(diǎn)試題含答案解析
- 《抖音高活躍群體研究報(bào)告》
- 2025年高考作文備考訓(xùn)練之二元思辨作文題目解析及范文:我與“別人”
評(píng)論
0/150
提交評(píng)論