數(shù)據(jù)庫范式理解例題_第1頁
數(shù)據(jù)庫范式理解例題_第2頁
數(shù)據(jù)庫范式理解例題_第3頁
數(shù)據(jù)庫范式理解例題_第4頁
數(shù)據(jù)庫范式理解例題_第5頁
免費預覽已結(jié)束,剩余9頁可下載查看

下載本文檔

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

文檔簡介

1、范式分解主屬性: 包含在任一候選關鍵字中的屬性稱主屬性。非主屬性: 不包含在主碼中的屬性稱為非主屬性。函數(shù)依賴:是指關系中一個或一組屬性的值可以決定其它屬性的值。 函 數(shù)依賴正象一個函數(shù) y = f(x) 一樣, x 的值給定后, y 的值也就 唯一地確定了。如果屬性集合 Y 中每個屬性的值構(gòu)成的集合唯一地決定了 屬性集合 X 中每個屬性的值構(gòu)成的集合,則屬性集合 X 函數(shù)依 賴于屬性集合 Y,計為:Yf X。屬性集合Y中的屬性有時也稱作函數(shù)依賴 YfX 的決定因素( determinant )。例:身份證號部分函數(shù)依賴: 設X,Y是關系R的兩個屬性集合,存在 Xf Y,若X'是X的真

2、子集,存在X'f Y,則稱Y部分函數(shù)依賴于X。完全函數(shù)依賴: 在R(U)中,如果Y函數(shù)依賴于X,并且對于X的任何一個真子集X',都有Y不函數(shù)依賴于X',則稱Y對X完全函數(shù)依賴。否則稱 Y 對 X 部分函數(shù)依賴。例】; 舉個例子就明白了。假設一個學生有幾個屬性SNO 學號 SNAME 姓名 SDEPT 系SAGE 年齡 CNO 班級號G 成績對于 (SNO,SNAME,SDEPT,SAGE,CNO,G) 來說, G 完全依賴于(SNO, CNO),因為(SNO,CNO)可以決定 G,而 SNO 和CNO 都不能單獨決定 G。而SAGE部分函數(shù)依賴于(SNO,CNO),因為

3、(SNO,CNO)可 以決定SAGE,而單獨的SNO也可以決定SAGEo傳遞函數(shù)依賴: 設R( U)是屬性集U上的關系,x、y、z是U的子集,在R( U)中,若xf y,但yf x,若yf乙則xf z,稱z傳遞函數(shù)依賴于 x,記作 X f TZ o如果X->Y, Y->Z,則稱Z對X傳遞函數(shù)依賴。計算 X+ (屬性的閉包 ) 算法:a. 初始化,令X+ = X;b. 在 F 中依次查找每個沒有被標記的函數(shù)依賴,若“左邊屬性集”包含于X+,則令X+ = X+ U “右邊屬性集”,并為訪問 過的函數(shù)依賴設置標記。c. 反復執(zhí)行b直到X+不改變?yōu)橹?。檢驗給定的任意函數(shù)依賴 A1A2.An

4、->B是否蘊含于依賴集 S:分析:根據(jù)屬性集閉包的定義,可知A1A2.An->A1,A2,.,An+蘊中,那么函數(shù)依賴含于S。只要證明 B在A1,A2,.,An+A1A2An->B 肯定蘊含于依賴集 S中求解過程:1 ) 利用依賴集計算閉包(2)如果B在閉包中,則函數(shù)依賴A1A2.An->B 是否蘊含于 依賴集S,否則不蘊含于S例】廣某個關系,具有屬性:A,B,C,D,E,F。假設該:關系有如下的函數(shù)依賴=i r AB->C1 r BC->ADI)->ECF->B檢驗AB-D是否蘊含于這些函數(shù)依賴中.閃為AfB yA,BCDE, D在集合屮,所以

5、 AR->D蘊含于這些函數(shù)依賴中.廣某個關系,具有屬件:A, B,CJhE,匸 假設該 關系有如下的函數(shù)依賴=/ AB->C廣 BC->AD廣 D->E廣 CF->B產(chǎn)檢驗依賴:DQA是否蘊含于這些函數(shù)依賴中廣求閉包:D 3DfE廠 所以,D->A不蘊含 于這些函數(shù)依賴中例4-3.3:己)11關系模式R巾U=A, G D, E, G,F二AB G Cf 乩 BC D, ACDB, D EE, BE G CG-BD.CEAG,列斷BDf AC足否屬于F解:由 DEG 知 D-E, BDBE乂)ItBE-G C-A 所以BEA, BE-AC 由0劉* BD &g

6、t;AC-所以BD-AC被F所蘊涵,即AC屈丁總結(jié):判定函數(shù)依賴XTY是否能由F導出的問題,可轉(zhuǎn)化為求X+并判定Y是否是X+子集的問題。即求F閉包的問題可轉(zhuǎn)化為求屬性集閉包的問題。函數(shù)依賴的閉包: 定義:若F為關系模式R(U)的函數(shù)依賴集,我們把 F以及所有被F邏輯蘊涵的函數(shù)依賴的集合稱為F的閉包,記為F+求函數(shù)依賴閉包,基于函數(shù)依賴推理規(guī)則 函數(shù)依賴推理規(guī)則: 若 XY->Z,貝y X->Z,Y->z (錯) 正確的: 若 X->Y,貝y XZ->YZ若 X->Y,X->Z ,貝y X->YZ若X->Y , Z屬于Y,則X->Z若

7、X->Y , Y->Z,貝y X->Z若X->YZ,則X->Y , X->Z /可以把每個函數(shù)依賴的右邊的屬性分解,從而使其右邊只出現(xiàn)一個屬性 偽傳遞率: 若 A->B,BC->D,則 AC->D范式第一范式( 1NF ):屬性,屬性值,字段不可分 就是無重復的列 不滿足 1NF 的數(shù)據(jù)庫就不是關系數(shù)據(jù)庫例】:第二范式( 2NF ):符合 1NF ,每一個非主屬性 完全依賴 于碼, 不能存在部分依賴 ,有主鍵,非主鍵字段依賴主鍵 ; 唯性 一個表只說明一個事物 ;例】:不符合第二范式的例子表:學號, 姓名, 年齡, 課程名稱 ,成績 , 學

8、分 ;這個表明顯說明了兩個事務 :學生信息 , 課程信息 ;存在問題 :數(shù)據(jù)冗余,每條記錄都含有相同信息; 刪除異常:刪除所有學生成績,就把課程信息全刪除了; 插入異常:學生未選課,無法記錄進數(shù)據(jù)庫; 更新異常:調(diào)整課程學分,所有行都調(diào)整。修正 :學生: Student( 學號, 姓名, 年齡); 課程: Course( 課程名稱, 學分); 選課關系: SelectCourse( 學號 , 課程名稱 , 成績 )。滿足第 2 范式只消除了插入異常。第三范式( 3NF ):符合 2NF ,并且,消除傳遞依賴,非主 鍵字段不能相互依賴 ; 每列都與主鍵有直接關系, 不存在傳 遞依賴 ;若所有的屬

9、性都是主屬性,則屬于第三范式 要求一個數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關 鍵字信息例】: 不符合第三范式的例子學號, 姓名, 年齡, 所在學院 , 學院聯(lián)系電話,關鍵字為單關鍵字 "學號H.存在依賴傳遞:(學號)T (所在學院)T (學院地點,學院電話) 存在問題 :數(shù)據(jù)冗余 :有重復值;更新異常:有重復的冗余信息,修改時需要同時修改多條記 錄,否則會出現(xiàn)數(shù)據(jù)不一致的情況 刪除異常修正:學生:(學號 , 姓名, 年齡, 所在學院 );學院:(學院 , 地點, 電話)。總結(jié):1nf: 不可分2nf: 一個表說明一個事物,唯一性3nf: 對字段冗余性的約束,即任何字段不能由其他字

10、段派生出來,它要求字段沒有冗余。bcnf: 是 3NF 的改進形式BCNF 意味著在關系模式中每個決定因素 都包含候選鍵 ,也就是說,只要屬性或?qū)傩越MA 能夠決定任何一個屬性 B ,則 A 的子集中必須有候選鍵。BCNF 范式排除了任何屬性對候選鍵的傳遞依賴與部分依賴。滿足 BCNF 條件1所有非主屬性對每一個候選鍵都是完全函數(shù)依賴;2所有的主屬性對每一個不包含它的候選鍵,也是完全函數(shù) 依賴;3沒有任何屬性完全函數(shù)依賴于非候選鍵的任何一組屬性。候選鍵(又稱候選碼,候選關鍵字,碼,candidate key)設K是一個R(U)中的屬性或?qū)傩约希ㄗ⒁饪梢允菍傩约?,也即多個屬性的組合),若K完全

11、函數(shù)確定U,則K 為 R 的候選鍵(Candidate key);通俗地說就是,能夠確定全部屬性的某個屬性或某組屬性,稱為候選鍵。若候選鍵多于一個,則選定其中個作為主鍵。*在所有依賴關系 右邊沒有出現(xiàn)的屬性一定是 候選鍵的成員。BCNF范式排除了任何屬性對 候選鍵的傳遞依賴與部分依賴。【例1】r設有關系模式R (職丁名,項冃名* 丁資,部門夕L部 門經(jīng)理)如果規(guī)定,每個職工可參加多個項冃,答領一份工資,每個 項目只屬于一個部門管理;毎個部門只有一個經(jīng)理.C1)試寫出關系模式R的基本函數(shù)依賴和主碼(2)說明R不是2NF模式的理由,并把R分解成2NF.(3)進而將R分解成3NF,并說明理由.1.

12、解:(1)根擁題意,可知有如下的函數(shù)依賴關系; (職工名,項目名)-工蚩項部門名部門名T部門經(jīng)理所以,主鍵為(職工勒,項目4)。(2)根S (1),由于部門名、部門經(jīng)理只是部分依賴丁主 鍵,所以該關系模式不是2NF.應該做如下分解=R1 (項冃名,部門無,部門經(jīng)理R2 (職工名,項目名,工資)以上兩個關系模式都是2NF模式(3)R2已經(jīng)是3NF, lURI不是,因為部門經(jīng)理傳遞依賴于 項目名,故應該做如下分解:R11 (項R名.部門名)R12 (部門名部門經(jīng)理)分斛后形成的三個關系模式內(nèi)仁R12. R2均是3NF模式.【例2】2、設有關系模式R(A. Bp C, D.巳F),It函數(shù)依賴集為:

13、 F=EtD, C->B, CEtF, BtA.請回答如下問題;門)指出R的所有候選碼并說明原因:(2)R最高屆于第幾范式,為什么?(3)分解R為3NF。2. 解:可知A、B、D、FE個屬件均不是決定W素,所以只有C和 E有可能構(gòu)成該關系模式的主鍵,而C. E之間沒有函數(shù)依賴 關系,且根據(jù)己知的雷數(shù)依賴可知,CEABCDEF,所以R 的主鍵是CE.(2)由TD部分依賴于牛鍵CE , A、B部份依賴丁主鍵CE.所 以R最高屬丁-INR將一個不滿足2NF的關系模式分解成3NF.總的原則是將 滿足范式要求的函數(shù)依賴中包含的厲性分解為一個關系模式, 將不滿足范式要求的函數(shù)依厭中所包含的屬性分別分

14、解為多 個關系模式.首先將R分解為2NR分解如下:R1 (E, D) R2 C B, A> R3 CC, E* F)上述三個模式中,Rb R3都已經(jīng)JST3NF,但在R2中,A傳 遞依賴TC,故應該繼續(xù)分解為3NF,分解如下:R21 (C, B) R22 (B, A)將R分解為R仁R2仁R22. R3四個模式后部屬丁3NF。【例3】3.設有關系模式R(A, B, G D, E), K函數(shù)依賴集為 F=(A-B, CE-A, ED指出R的所育候選碼,并說明理由;R鼠高屬丁第幾范式(在1NF-3NF范m內(nèi)),為什么請回答如下問題:(2)將R分解到3N&3. 解:(1) R的候選碼為(

15、Cf E),根拯已知的函數(shù)依賴可知, CEtABGDE,而C和E之間不存右涵數(shù)儂賴關系,所以R的 主鍵是CEu(2) RS高屬于1 NF,因為CEiD是部分依賴關系.(3) R分解如下:R1=C, E, Ab R2=E> D, R3=A,B,則以上三個關系 模式均屬于3NFn【例4】取 設有一個記錄各個球隊隊員毎場比賽進球數(shù)的關系模式 R f隊員編號.比賽場次,進球數(shù),球隊拿,隊長孕I) 如果規(guī)定,每個隊員只能屬于一個球隊.每個球隊只有一個 隊長C(1) 試寫岀關系模式R的基本函數(shù)依賴和主碼.(2) 說明R不是2NF模式的理由并把R分解成2NF。(3) 進而將R分解成3NF*并說明理由.

16、4. 答:(1關系模式R的基本函數(shù)依賴F如下F=隊員編號T球隊名,球隊名-隊長名, (隊員編號,比賽場次)T進球數(shù) 其主鍵為t隊員編號,比賽場次).(2 R不是2NF模式的原因是隊員編號T球隊名,所以(隊 員編號,比賽場次)T球隊名是一個部分函數(shù)依賴關系,將 R分解成2NF如下,R1=隊員編號,球隊護隊&名 庶=球隊名.比賽場次,進球數(shù)(3由于在FU中,主鍵為隊員編號,所以隊員編號-隊長 名是一個傳遞函數(shù)依賴,將R分解成:R11M隊員編號,球隊名b R12=球隊郭隊長名 則將R分解為Rir R12, R2后均為3NF的關系模式。設有關系模式R (A , B, C, D , E, G)上

17、的函數(shù)依賴集為:F= A B,BC,AD G,DE 。求解:31求關系模式 R 的所有侯選鍵。解:求出侯選鍵AD。( 2 分) 首先在 F 中函數(shù)依賴右邊不出現(xiàn)的屬性必在侯選鍵中 ,即 AD (1 分);由于(AD)+=ABCDEG, 即 AD 能函數(shù)決定所有的屬性 , 所以侯選鍵只有一個 AD(1分) 。 AD+=AD BEG C32 分別求屬性集 G、AD 、CD、BC 的閉包。G+=G(1 分);(AD)+=ABCDEG(1 分);(CD)+= CDE(1 分);(BC)+=BC(1 分)33將關系模式 R 保持依賴地且無損地分解成 3NF ,要求寫出 分解過程。解:F= A B, BC

18、, AD G, D E F是最小依賴集,所有屬性在F中出現(xiàn),將F中是每個函數(shù)依賴組成一個關系模式得保持函數(shù)依賴的分解: AB, BC, ADG, DE (2 分); 并上一個侯選鍵 AD得無損分解:AB, BC, ADG , DE U AD= AB , BC, ADG , DE (2 分)F= AB,BC,ADG,DE 34 將關系模式 R 無損地分解成 BCNF ,要求寫出分解過程。解:根據(jù)轉(zhuǎn)換為 BCNF 的無損連接分解算法 6.5 1 )由于候選鍵為 AD ,F(xiàn) 中存在不符合 BCNF 要求的函數(shù)依賴,所以 R 不是 BCNF,選 AB 分解為: R1=AB ,R2=ACDEG ; (1 分)R1上保持的函數(shù)依賴集為 ATB,鍵為A,所以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論