版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第2講函數(shù)依賴的公理體系第5章關(guān)系數(shù)據(jù)庫模式設(shè)計(jì)主要內(nèi)容阿姆斯特朗公理及推論X關(guān)于F的閉包及其計(jì)算最小函數(shù)依賴集候選鍵的求解方法一、阿姆斯特朗公理及推論是一系列推理規(guī)那么最早出現(xiàn)在1974年的論文里他人與1977年提出改進(jìn)形式F=X→YF+侯選鍵X→Y在R中是否成立能從F導(dǎo)出的所有X→Y推導(dǎo)工具?問題引入:1、阿姆斯特朗公理設(shè)有關(guān)系模式R(U,F),U={A1,A2,…,An}是R的屬性集,F(xiàn)是R的屬性集U上的FD集,X、Y、Z、W是U的子集。阿姆斯特朗公理為:A1自反律:假設(shè)YX,那么XYA2增廣律:假設(shè)XY,那么XZYZA3傳遞律:假設(shè)XY,YZ,那么XZArmstrong公理是正確的。方法:從函數(shù)依賴的定義出發(fā)A1自反律:假設(shè)YX,那么XY證:設(shè)u、v為r的任意兩個(gè)元組。假設(shè)u[X]=v[X],那么u和v在X的任何子集上必然相等。由條件YX,所以有:u[Y]=v[Y],由u、v的任意性,并根據(jù)函數(shù)依賴的定義,可得XY。2、定理5.13、阿姆斯特朗公理的推論合并規(guī)那么:假設(shè)XY且XZ,那么XYZ分解規(guī)那么:假設(shè)XY,且ZY,那么XZ偽傳遞規(guī)那么:假設(shè)XY且WYZ,那么WXZ增廣律傳遞律證:XYWX→ZWX→WYWY→Z作用:將一個(gè)FD分解成假設(shè)干個(gè)右邊是單屬性的FD。用于確定關(guān)系的主鍵。4、定理5.2如果Ai(i=1,…,n)是關(guān)系模式R的屬性,那么XA1A2…An成立的充分必要條件是XAi(i=1,…,n)均成立。二、X關(guān)于F的閉包及其計(jì)算例:關(guān)系模式R(A,B,C),其函數(shù)依賴集為F={A→B,B→C},求函數(shù)依賴集F的閉包F+。F+=A→,AB→
,AC→
,ABC→
,B→
,C→A→A,AB→A,AC→A,ABC→A,B→B,C→CA→B,AB→B,AC→B,ABC→B,B→C,A→C,AB→C,AC→C,ABC→C,B→BC,A→AB,AB→AB,AC→AB,ABC→AB,BC→
,A→AC,AB→AC,AC→AC,ABC→AC,BC→B,A→BC,AB→BC,AC→BC,ABC→BC,BC→C,A→ABC,AB→ABC,AC→ABC,ABC→ABC,BC→BC,1、X關(guān)于F的閉包設(shè)有關(guān)系模式R(U,F)和屬性集U={A1,A2,…,An}的子集X。那么稱所有用阿姆斯特朗公理從F推導(dǎo)出的函數(shù)依賴X→Ai的屬性Ai組成的集合稱為X關(guān)于F的閉包,記為XF+,通常簡記為X+。即XF+={Ai|用公理從F推出的X→Ai}集合元素對比F+和X+設(shè)有關(guān)系模式R(U,F(xiàn)),U={A1,A2,…,An}是R的屬性集,F(xiàn)是R的屬性集U上的函數(shù)依賴集,X、Y是U的子集,那么XY能用Armstrong公理從F導(dǎo)出YX+。該定理把判定XY是否能由F根據(jù)Armstrong公理導(dǎo)出的問題求出X+,判定Y是否為X+的子集的問題。2、定理5.3算法5.1
求屬性集X關(guān)于函數(shù)依賴集F的閉包X+輸入:關(guān)系模式R的全部屬性集U,U上的函數(shù)依賴集F,U的子集X。輸出:X關(guān)于F的閉包X+。計(jì)算方法:3、X關(guān)于F的閉包X+的計(jì)算〔1〕X(0)=X?!?〕從F中找出滿足條件VX(i)的所有函數(shù)依賴V→W,并把所有的V→W中的屬性W組成的集合記為Z;也即從F中找出那些其決定因素是X(i)的子集的函數(shù)依賴,并把由所有這樣的依賴的被決定因素組成的集合記為Z?!?〕假設(shè)ZX(i),那么轉(zhuǎn)〔5〕?!?〕否那么,X(i+1)=X(i)Z,并轉(zhuǎn)〔2〕?!?〕停止計(jì)算,輸出X(i),即為X+。3、X關(guān)于F的閉包X+的計(jì)算〔續(xù)〕例5.4R(U),U={A,B,C,D,E,G},R上的FD集F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},X=BD,求X+,BD→A是否成立?(1)X〔0〕=BD。(2)X〔1〕=BDEG(3)X〔2〕=BCDEG(4)X〔3〕=ABCDEGX+=ABCDEGA∈BD+,故BD→A成立4、舉例Z=EGBD=X(0)一個(gè)函數(shù)依賴集F的閉包F+通常包含很多函數(shù)依賴,有些函數(shù)依賴是無意義的,如平凡的函數(shù)依賴,還有一些是可以推導(dǎo)出的,即無關(guān)的函數(shù)依賴。如果將每一個(gè)函數(shù)依賴看作是對關(guān)系的一個(gè)約束,要檢查F+中的每一個(gè)函數(shù)依賴對應(yīng)的約束,顯然是一件很繁重的任務(wù)。如果能找出一個(gè)與F等價(jià)的、包含較少數(shù)目函數(shù)依賴的函數(shù)依賴集G,那么可以簡化此工作。最小函數(shù)依賴集的概念由此而提出。三、最小函數(shù)依賴集定義5.5設(shè)F和G是兩個(gè)函數(shù)依賴集,如果F+=G+,那么稱F和G等價(jià)。如果F和G等價(jià),那么稱F覆蓋G,同時(shí)也稱G覆蓋F。1、函數(shù)依賴集的等價(jià)與覆蓋定理5.7F+=G+的充要條件是FG+和GF+。F+=G+FG+X→Y所有FG+定理GF+X→Y能否由G根據(jù)公理導(dǎo)出?YXG+
?作用:任一函數(shù)依賴集都可轉(zhuǎn)化成由右端只有單一屬性的依賴組成的集合。該結(jié)論是最小函數(shù)依賴集的根底。推論每一個(gè)函數(shù)依賴集F都被其右端只有一個(gè)屬性的函數(shù)依賴組成的依賴集G所覆蓋。滿足以下條件的函數(shù)依賴集F稱為最小函數(shù)依賴集。①F中每一個(gè)FD的右端都是單個(gè)屬性;②對F中任何FD:XA,F(xiàn)-{XA}不等價(jià)于F;③對F中的任何FD:XA和X的任何真子集Z,(F-{XA})∪{ZA}不等價(jià)于F。2、最小函數(shù)依賴集F沒有多余的FD每個(gè)FD左端無多余的屬性求解方法〔1〕用分解規(guī)那么將F中的所有函數(shù)依賴分解成右端為單個(gè)屬性的函數(shù)依賴;Armstrong公理的推論分解規(guī)那么:假設(shè)XY,且ZY,那么XZ求解方法〔續(xù)一〕〔2〕去掉F中冗余的函數(shù)依賴對于F中任一FD:XY①G=F-{XY};②求X關(guān)于G的閉包XG+;③看XG+是否包含Y。如果XG+包含Y,那么在G中邏輯蘊(yùn)涵XY,說明XY是多余的函數(shù)依賴,所以F=G;如果X+不包含Y,那么保存XY。求解方法〔續(xù)二〕〔3〕去掉左端多余的屬性對于F中左端是非單屬性的函數(shù)依賴〔XYA〕,假設(shè)要判斷Y是否是多余的屬性①G=(F-{XYA})∪{XA};②求X關(guān)于F的閉包XF+;③如果A不屬于XF+,那么XA不在F+中,說明Y不是多余的屬性,接著判別X是否是多余的屬性;如果A屬于XF+,那么說明Y是多余的屬性,F(xiàn)=G。ABC,CA,BCD,ACDB,DEG,BEC,CGBD,CEAGF=ABC,CA,BCD,ACDB,DE,DG,BEC,CGB,CGD,CEA,CEG①F1=例5.5:求函數(shù)依賴集F的最小函數(shù)依賴集法1:3、舉例②F21=ABC,CA,BCD,ACDB,DE,DG,BEC,CGB,CGD,CEA,CEG①F1=ABC,CA,BCD,ACDB,DE,DG,BEC,CGD,CEA,CEG3、舉例〔續(xù)一〕例5.5:求函數(shù)依賴集F的最小函數(shù)依賴集②F22=ABC,CA,BCD,ACDB,DE,DG,BEC,CGD,CEA,CEG②F21=ABC,CA,BCD,ACDB,DE,DG,BEC,CGD,CEG3、舉例〔續(xù)二〕例5.5:求函數(shù)依賴集F的最小函數(shù)依賴集ABC,CA,BCD,ACDB,DE,DG,BEC,CGD,CEG②F22=③F3=ABC,CA,BCD,CDB,DE,DG,BEC,CGD,CEG3、舉例〔續(xù)三〕例5.5:求函數(shù)依賴集F的最小函數(shù)依賴集②F21=ABC,CA,BCD,DE,DG,BEC,CGB,CEGABC,CA,BCD,ACDB,DE,DG,BEC,CGBCGD,CEA,CEG①F1=3、舉例〔續(xù)四〕例5.5:求函數(shù)依賴集F的最小函數(shù)依賴集法2:四、候選鍵的求解方法1、屬性分類對于給定的關(guān)系R〔U〕和函數(shù)依賴集F,可將其屬性分為4類:①L類:僅出現(xiàn)在F的函數(shù)依賴左部的屬性;②R類:僅出現(xiàn)在F的函數(shù)依賴右部的屬性;③N類:在F的FD左右兩邊均未出現(xiàn)的屬性;④LR類:在F的FD左右兩邊均出現(xiàn)的屬性。四、候選鍵的求解方法2、快速求解候選鍵的一個(gè)充分條件〔1〕假設(shè)X是L類屬性,那么X必為R的某一候選鍵的成員;〔2〕假設(shè)X是L類屬性,且X+包含了R的全部屬性,那么X必為R的唯一候選鍵;〔3〕假設(shè)X是R類屬性,那么X不是任一候選鍵的成員;〔4〕假設(shè)X是N類屬性,那么X必包含在R的某一候選鍵中;〔5〕假設(shè)X是R的N類屬性和L類屬性組成的屬性集,且X+包含了R的全部屬性,那么X是R的唯一候選鍵。四、候選鍵的求解方法3、候選鍵的一般求解方法①將所有屬性分為L、R、N和LR四類,并令X代表L和N類,Y代表LR類;②求XF+:假設(shè)XF+包含了R的全部屬性,那么X是R的唯一候選鍵,轉(zhuǎn)⑧;③在Y中取一屬性A,并求(XA)F+:假設(shè)(XA)F+包含了R的全部屬性,那么XA為的一個(gè)候選鍵;④重復(fù)③,直到Y(jié)中的屬性依次取完為止;⑤從Y中除去所有已成為主屬性的屬性A;四、候選鍵的求解方法3、候選鍵的一般求解法⑥在剩余的屬性中依次取兩個(gè)屬性、三個(gè)屬性,…,將其記為集合B,并求(XB)F+:假設(shè)(XB)F+包含了R的全部屬性,且自身不包含已求出的候選鍵,那么XB為R的一個(gè)候選鍵;⑦重復(fù)⑥,直到Y(jié)中的屬性按⑥的組合依次取完為止;⑧輸出候選鍵,算法結(jié)束。R的候選鍵:A、E、BC和CD四、候選鍵
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 文昌柜臺(tái)施工方案(3篇)
- 小班安全活動(dòng)策劃方案(3篇)
- 2025-2026學(xué)年第二學(xué)期山西金融職業(yè)學(xué)院招聘校外兼職教師1人二備考考試題庫及答案解析
- 2026中國種子協(xié)會(huì)招聘1人備考考試題庫及答案解析
- 2026天津南開區(qū)教育系統(tǒng)招聘(含高層次人才)170人參考考試題庫及答案解析
- 2026云南昆明安寧市寧湖小學(xué)招聘3人備考考試題庫及答案解析
- 護(hù)理質(zhì)量風(fēng)險(xiǎn)管理與防范
- 2026陜西事業(yè)單位招聘崗位查看考試參考題庫及答案解析
- 第1課時(shí)《記念君》和《為了忘卻的記念》群文閱讀課件
- 2026年濰坊諸城市事業(yè)單位公開招聘工作人員(40人)考試參考試題及答案解析
- 會(huì)下金蛋的鵝課件
- GB/T 11880-2024模鍛錘和大型機(jī)械鍛壓機(jī)用模塊
- GB/T 43934-2024煤礦土地復(fù)墾與生態(tài)修復(fù)技術(shù)規(guī)范
- GB/T 13077-2024鋁合金無縫氣瓶定期檢驗(yàn)與評定
- 食品殺菌原理培訓(xùn)課件
- GB/T 10739-2023紙、紙板和紙漿試樣處理和試驗(yàn)的標(biāo)準(zhǔn)大氣條件
- 神經(jīng)內(nèi)科練習(xí)題庫及答案
- GB/T 42973-2023半導(dǎo)體集成電路數(shù)字模擬(DA)轉(zhuǎn)換器
- 肝性腦病教學(xué)查房課件
- 膜式壁制造及檢驗(yàn)工藝演示文稿
- 紅壤區(qū)貧瘠農(nóng)田土壤快速培肥技術(shù)規(guī)程
評論
0/150
提交評論