




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第3 3章章 關系數(shù)據庫設計理論關系數(shù)據庫設計理論 shbeking hd8go hd88go oemgc 189288 hzp580 yjoem oemdg xcdnpx oemdg zhongtezc yanjigzzg-nsk skf-zr ygcooper skf-zt nsk-zt fag-zt zhongtezc ntn-zt 189286 xcdnpx dgxcdn dgxcpx xcwxpx xunchi-px 0759mz lczx1883.1 關系模式設計問題關系模式設計問題例如:Student(Sno,Sdept,Mname,Cname,Grade) F=SnoSdep
2、t,Sdept Mname,(Sno,Cname) Grade存在問題:數(shù)據冗余太大插入異常刪除異常更新異常分解成三個關系模式:S(Sno,Sdept, SnoSdept);SG(Sno,Cname,Grade,(Sno,Cname) Grade);D(Sdept,Mname,Sdept Mname);3.2 3.2 規(guī)范化規(guī)范化 數(shù)據依賴:關系中屬性值之間的這種相互依賴又相互制約的聯(lián)數(shù)據依賴:關系中屬性值之間的這種相互依賴又相互制約的聯(lián) 系,稱為數(shù)據依賴。包括:函數(shù)依賴、多值依賴。系,稱為數(shù)據依賴。包括:函數(shù)依賴、多值依賴。一、函數(shù)依賴定義1:設R(U)是屬性集U上的關系模式。X,Y是U的子
3、集。若對于R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)決定Y或Y函數(shù)依賴于X,記作XY。說明:1、函數(shù)依賴是語義范疇的概念 2、函數(shù)依賴關系是反映屬性之間的一般規(guī)律根據函數(shù)依賴的定義,可找出下面規(guī)律:根據函數(shù)依賴的定義,可找出下面規(guī)律:1、在一個關系模式中,如屬性、在一個關系模式中,如屬性X,Y有有1:1聯(lián)系,則存在函數(shù)依賴聯(lián)系,則存在函數(shù)依賴XY、 YX,可記作,可記作XY2、X、Y是是1:m聯(lián)系,則存在聯(lián)系,則存在YX,但,但XY3、X、Y是是n:m聯(lián)系,則聯(lián)系,則X、Y之間不存在任何函數(shù)依賴之間不存在任何函數(shù)依賴XYXY,但,
4、但Y YX X則稱則稱XYXY是平凡的函數(shù)依賴。否則,稱非平凡的函數(shù)依賴。是平凡的函數(shù)依賴。否則,稱非平凡的函數(shù)依賴。定義定義2:在:在RU中,如果中,如果XY,并且對于,并且對于X的任何一個真子集的任何一個真子集X,都有,都有 XY,則稱,則稱Y對對X部分函數(shù)依賴,記作部分函數(shù)依賴,記作XpY,否則,稱,否則,稱Y完全函數(shù)依賴于完全函數(shù)依賴于X,記作,記作XfY。定義定義3:在:在RU中,如果中,如果XY,(,(YX),),Y X,YZ,則稱,則稱Z對對X傳遞傳遞 函數(shù)依賴。函數(shù)依賴。定義定義4:設:設K為為R中的屬性或屬性組合,若中的屬性或屬性組合,若K fU則則K為為R的候選碼。的候選碼
5、。若候選碼多于一個,則選定其中的一個為主碼若候選碼多于一個,則選定其中的一個為主碼Primary Key)。)。包含在任何一個候選碼中的屬性,叫做主屬性。不包含在任何碼中的屬性稱包含在任何一個候選碼中的屬性,叫做主屬性。不包含在任何碼中的屬性稱為非主屬性或非碼屬性。整個屬性組是碼,稱為全碼。為非主屬性或非碼屬性。整個屬性組是碼,稱為全碼。定義定義5:關系模式:關系模式R中屬性或屬性組中屬性或屬性組X并非并非R的碼,但的碼,但X是另一個關系模式的是另一個關系模式的 碼,則稱碼,則稱X是是R的外部碼的外部碼Foreign Key),也稱外碼。),也稱外碼。二、碼二、碼三、范式三、范式范式:是符合某
6、一種級別的關系模式的集合。范式:是符合某一種級別的關系模式的集合。 關系數(shù)據庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同關系數(shù)據庫中的關系是要滿足一定要求的,滿足不同程度要求的為不同 范式。范式。1NF,2NF,3NF,BCNF,4NF,5NF定義:關系模式定義:關系模式 RU中所有屬性都不可再分的,則稱中所有屬性都不可再分的,則稱R是第一范式,記作是第一范式,記作 R1NF。例如:SLCSNO,SDEPT,SLOC,CNO,GRADE)2NF。SNOCNOGSDEPT SLOC五、五、3NF定義定義7:若:若R2NF,且,且R中任一非主屬性都不傳遞函數(shù)依賴于碼,則中任一非主屬性都不
7、傳遞函數(shù)依賴于碼,則R3NF。SNOCNOGSDEPT SLOCSNOSLSC上例 SL分解為: SDSNO,SDEPT) DLSDEPT,SLOC)由于第三范式有效地消除了非主屬性對碼的部分和傳遞依賴,因而消除了一大類操作異常問題。因而,3NF在數(shù)據庫設計中得到了廣泛應用。六、六、BCNF例:關系模式例:關系模式STJS,T,J中,中,S表示學生,表示學生,T表示教師,表示教師,J表示教師,表示教師,J表表 示課程。每一教師只教一門課。每門課有若干教師,某一學生選定某門課,示課程。每一教師只教一門課。每門課有若干教師,某一學生選定某門課, 就對應一個固定的教師。就對應一個固定的教師。由語義可
8、得到如下的函數(shù)依賴:由語義可得到如下的函數(shù)依賴: (S,J)T; (S,T)J; T J關系有兩個候選鍵,是關系有兩個候選鍵,是S,J和和S,T)S、T、J都是主屬性,不存在非主屬性,更不會有非主屬性對鍵的傳遞依賴、都是主屬性,不存在非主屬性,更不會有非主屬性對鍵的傳遞依賴、部分依賴了,因而,部分依賴了,因而,STJ關系滿足第三范式。關系滿足第三范式。但仍然存在問題:但仍然存在問題:定義定義8:R BCNF,當且僅當每個決定因素都是碼候選鍵)。,當且僅當每個決定因素都是碼候選鍵)。上例分解為:上例分解為:STS,T)、)、TJT,J)七、多值依賴七、多值依賴例:學校中某一門課程由多個教員講授,
9、他們使用相同的一套參考書。每個教例:學校中某一門課程由多個教員講授,他們使用相同的一套參考書。每個教 員可以講授多門課程,每種參考書可以供多門課程使用。如下表:員可以講授多門課程,每種參考書可以供多門課程使用。如下表: 課程C 教員T 參考書B 物理 李勇 普通物理學 物理 李勇 光學原理 物理 李勇 物理習題集 物理 王軍 普通物理學 物理 王軍 光學原理 物理 王軍 物理習題集 數(shù)學 李勇 數(shù)學分析 數(shù)學 李勇 微分方程 數(shù)學 李勇 高等代數(shù) 數(shù)學 張平 數(shù)學分析 數(shù)學 張平 微分方程 數(shù)學 張平 高等代數(shù) 定義定義9:關系模式:關系模式RU),),X,Y,Z是是U的子集,并且的子集,并且
10、Z=U-X-Y。關系模式。關系模式R(U)中多值依賴中多值依賴XY成立,當且僅當對成立,當且僅當對RU的任一關系的任一關系r,給定的一對,給定的一對x,z)值,有一組值,有一組Y的值,這組值僅僅決定于的值,這組值僅僅決定于x值而與值而與z值無關。值無關。若XY ,而Z=即Z為空,則稱XY為平凡的多值依賴。多值依賴性質:多值依賴性質:對稱性。若對稱性。若XY ,則,則XZ,其中,其中Z=U。傳遞性。若傳遞性。若XY, ,則,則XY。函數(shù)依賴可看作是多值依賴的特殊情況。若函數(shù)依賴可看作是多值依賴的特殊情況。若XY,則,則XY。若若XY, X,則,則XY。若若XY, X,則,則XY。若若XY, X,
11、則,則XY, XY。八、八、4NF定義定義10:關系模式:關系模式R1NF,如果對于,如果對于R的每個非平凡多的每個非平凡多值依賴值依賴XY( Y X ),),X都含有碼,則稱都含有碼,則稱R 4NF。1NF 消除非主屬性對碼的部分函數(shù)依賴消除非主屬性對碼的部分函數(shù)依賴2NF 消除非主屬性對碼的傳遞函數(shù)依賴消除非主屬性對碼的傳遞函數(shù)依賴3NF 消除主屬性對碼的部分和傳遞函數(shù)依賴消除主屬性對碼的部分和傳遞函數(shù)依賴BCNF 消除非平凡且非函數(shù)依賴的多值依賴消除非平凡且非函數(shù)依賴的多值依賴4NF3.3 3.3 數(shù)據依賴的公理系統(tǒng)數(shù)據依賴的公理系統(tǒng)定義定義11:對于滿足一組函數(shù)依賴:對于滿足一組函數(shù)依
12、賴F的關系模式的關系模式R,其任何一個關系,其任何一個關系r,若函,若函數(shù)依賴數(shù)依賴XY都成立,則稱都成立,則稱F邏輯蘊含邏輯蘊含XY。Armstrong公理系統(tǒng):設公理系統(tǒng):設U為屬性集總體,為屬性集總體,F(xiàn)是是U上的一組函數(shù)依賴,于是有關系上的一組函數(shù)依賴,于是有關系模式模式R。對。對R來說有以下的推理規(guī)則:來說有以下的推理規(guī)則:A1自反律:若自反律:若YX U,則,則XY為為F所蘊含。所蘊含。A2增廣律:若增廣律:若XY為為F所蘊含,且所蘊含,且Z U,則,則XZYZ為為F所蘊含。所蘊含。A3傳遞律:若傳遞律:若XY及及YZ為為F所蘊含,則所蘊含,則XZ為為F所蘊含。所蘊含。推論:推論:
13、 合并規(guī)則:由合并規(guī)則:由XY, XZ,有,有XYZ。 偽傳遞規(guī)則:由偽傳遞規(guī)則:由XY, WYZ,有,有XWZ。 分解規(guī)則:由分解規(guī)則:由XY及及ZY,有,有XZ。 根據合并規(guī)則和分解規(guī)則,得到一重要事實:引理1: XA1A2 Ak成立的充分必要條件是XAi成立i= 1,2,k)。定義定義1212:在關系模式:在關系模式 R R中為中為F F所邏輯蘊含的函數(shù)依賴的全體叫做所邏輯蘊含的函數(shù)依賴的全體叫做F F的閉包,的閉包, 記為記為F+F+。定義定義13:設:設F為屬性集為屬性集U上的一組函數(shù)依賴,上的一組函數(shù)依賴, X U,XF+=A| XA能由能由F根據根據Armstrong公理導出公理
14、導出, XF+稱為屬性集稱為屬性集X關于函數(shù)依賴集關于函數(shù)依賴集F的閉包。的閉包。引理引理2:設:設F為屬性集為屬性集U上的一組函數(shù)依賴,上的一組函數(shù)依賴,X,Y U, XY能由能由F根據根據 Armstrong公理導出的充分必要條件是公理導出的充分必要條件是 Y XF+ 。算法算法3.1:求屬性集:求屬性集X( X U )關于)關于U上的函數(shù)依賴集上的函數(shù)依賴集F的閉包的閉包XF+ 。步驟:令步驟:令X(0)=X,i=0 求求B,這里,這里B=A | ( V) ( W) (V W F V X(i) AW); X(i+1) =B X(i) 判斷判斷X(i+1) =X(i) 嗎?嗎? 若相等或若
15、相等或X(i+1) =U,則,則X(i+1) 就是就是XF+ ,算法終止。,算法終止。 若否,則若否,則i=i+1,返回第步。,返回第步。例1 已知關系模式 R,其中U=A,B,C,D,E; F=AB C,B D,C E,EC B,AC B。求ABF+。定義14:如果G+=F+,就說函數(shù)依賴集F覆蓋GF是G的覆蓋,或G是F的覆蓋),或F與G等價。引理引理3: F+ = G+的充分必要條件是的充分必要條件是F G+ ,和,和G F+ 。 定義定義15:如果函數(shù)依賴集:如果函數(shù)依賴集F滿足下列條件,則稱滿足下列條件,則稱F為一個極小函數(shù)為一個極小函數(shù)依賴集。亦稱為最小依賴集或最小覆蓋。依賴集。亦稱
16、為最小依賴集或最小覆蓋。 F中任一函數(shù)依賴的右部僅含有一個屬性。中任一函數(shù)依賴的右部僅含有一個屬性。 F中不存在這樣的函數(shù)依賴中不存在這樣的函數(shù)依賴X A,使得,使得F與與FX A等價。等價。 F中不存在這樣的函數(shù)依賴中不存在這樣的函數(shù)依賴X A,X有真子集有真子集Z使得使得 FX A Z A與與 F 等價。等價。例:例:F=A B,B A,B C,A C,C A 求求Fm 。Fm1=A B,B C,C AFm2=A B,B A,A C,C A算法3.2 計算最小函數(shù)依賴集。輸入:一個函數(shù)依賴集F。輸出:F的一個等價的最小函數(shù)依賴集Fmin。步驟:1用分解規(guī)則,是F中的任何一個函數(shù)依賴的右部僅
17、含一個屬性。2去掉多余的函數(shù)依賴:逐一檢查F中的各函數(shù)依賴XY,并將XY從F中去掉,然后再剩余的函數(shù)依賴集F中求屬性X的閉包XF+,看XF+是否包含Y,若是,則去掉XY,否則不能去掉。依次做下去,直到找不到冗余的函數(shù)依賴。3去掉各個依賴左部多余的屬性:一個一個地檢查左部非單個屬性的函數(shù)依賴。例如XYA,要判斷Y是否多余,則以XA代替XYA,并判斷是否等價。若AXF+,則Y是多余的,可以去掉。4用Armstrong公理或步驟2的方法檢查F中是否還有多余的函數(shù)依賴,若有則去掉。3.4 3.4 模式的分解模式的分解分解具有分解具有“無損連接性無損連接性”分解要分解要“保持函數(shù)依賴保持函數(shù)依賴”分解既
18、要分解既要“保持函數(shù)依賴保持函數(shù)依賴”,又要具有,又要具有“無損連接性無損連接性”。定義定義16:關系模式:關系模式R的一個分解是指的一個分解是指 R1, R2,Rn 其中其中U=Ui,并且沒有,并且沒有UiUj,1,j n,F(xiàn)i是是F在在Ui上的投影。上的投影。定義定義17:函數(shù)依賴集合:函數(shù)依賴集合X Y|X Y F+ XY Ui的一個覆蓋的一個覆蓋Fi叫做叫做F在屬性在屬性Ui上的投影。上的投影。一、模式分解的三個定義一、模式分解的三個定義例:已知關系模式R,其中U=SNO ,SDEPT ,MN , F=SNO SDEPT, SDEPT MN。分解:分解: 1R1, R2, R32R1,
19、 R23R1, R2二、分解的無損連接性和保持函數(shù)依賴性二、分解的無損連接性和保持函數(shù)依賴性定義定義18: R1,Rk是是R的一個分解,若的一個分解,若R的任何一個關系的任何一個關系r均有均有r=m (r)成立,則稱分解成立,則稱分解具有無損連接性。簡具有無損連接性。簡稱稱為無損分解。為無損分解。 算法算法3.3:判別一個分解的無損連接性。:判別一個分解的無損連接性。 R1,Rk是是R的一個分解,的一個分解,U=A1, ,An ,F(xiàn)FD1,FD2, ,FD,F(xiàn)是一極小依賴是一極小依賴集集,記記FDi為為Xi A1i。 建立一張建立一張n列列k行的表。每一列對應一個屬性,每一行對應分解中的一個關
20、系行的表。每一列對應一個屬性,每一行對應分解中的一個關系 形式。若屬性形式。若屬性Aj屬于屬于Ui,則在,則在j列列i行交叉處填上行交叉處填上aj,否則填上,否則填上bij ; 對每一個對每一個FDi做下列操作:找到做下列操作:找到Xi所對應的列中具有相同符號的那些行??疾焖鶎牧兄芯哂邢嗤柕哪切┬???疾爝@些行中這些行中l(wèi)i列的元素,若其中有列的元素,若其中有ali,則全部改為,則全部改為ali ;否則全部改為;否則全部改為bmli ;m是是 這些行的行號最小值。這些行的行號最小值。 比較掃描前后,表有無變化。如有變化,則返回第步,否則算法終止。比較掃描前后,表有無變化。如有變化,則返回
21、第步,否則算法終止。例:知 R,UA,B,C,D,E,F(xiàn)=AB C,C D,D E,R的一個 分解為R1(A,B,C),R2(C,D),R3(D,E)。 首先構造初始表,如圖 A B C D E a1 a2 a3 b14 b15 b21 b22 a3 a4 b25 b31 b32 b33 a4 a5 對AB C,因各元組的第1、2列沒有相同的分量,所以表不改變。由C D 可以把b14改為a4 ,再由D E可使b15, b25全改為a5。 A B C D E a1 a2 a3 a4 a5 b21 b22 a3 a4 a5 b31 b32 b33 a4 a5定理:定理: R R的一個分解的一個分解
22、 R1U1R1F1,R2R2具有無損連接性的充具有無損連接性的充 分必要條件是:分必要條件是: U1U2 U1U2 U1 U1U2 U2 F+ F+ 或或 U1U2 U1U2 U2 U2U1 U1 F+ F+ 。算法算法3.4 3.4 無損分解測試算法。無損分解測試算法。輸入:關系模式輸入:關系模式R RA1,A2, ,AnA1,A2, ,An), ,它的函數(shù)依賴集它的函數(shù)依賴集F F,以及分解,以及分解=R1,R2, ,Rk=R1,R2, ,Rk。輸出:確定是否具有保持函數(shù)依賴。輸出:確定是否具有保持函數(shù)依賴。方法:方法:(1)(1)令令G=G=,F(xiàn)=F-GF=F-G。(2)(2)對于對于F
23、 F中的第一函數(shù)依賴中的第一函數(shù)依賴XYXY,計算,計算XG+XG+,并令,并令F=F-XYF=F-XY。(3)(3)假設假設 Y Y XG+ XG+。則令。則令Result=FalseResult=False,轉向,轉向(4)(4)。否則,若。否則,若F F,轉向,轉向(4), (4), 否否則轉向則轉向(2)(2)。(4)(4)若若Result=TrueResult=True,則保持函數(shù)依賴,否則不保持函數(shù)依賴。,則保持函數(shù)依賴,否則不保持函數(shù)依賴。當關系模式當關系模式R分解為兩個關系模式分解為兩個關系模式R1,R2時有下面的判定準則。時有下面的判定準則。定義定義1919:若:若F+ F+
24、 ( Fi Fi) ,那么,那么 R R 的分解的分解R1U1R1F1, Rk Rk保持函數(shù)依賴。保持函數(shù)依賴。 若要求分解保持函數(shù)依賴,那么模式分離總可以達到若要求分解保持函數(shù)依賴,那么模式分離總可以達到3NF, 但不一定能達到但不一定能達到BCNF; 若要求分解既保持函數(shù)依賴,又具有無損連接性,可以達若要求分解既保持函數(shù)依賴,又具有無損連接性,可以達 到到3NF,但不一定能達到,但不一定能達到BCNF; 若要求分解具有無損連接性,那一定可達到若要求分解具有無損連接性,那一定可達到4NF;關于模式分解的幾個重要事實是:關于模式分解的幾個重要事實是:三、模式分解的算法三、模式分解的算法算法算法
25、3.5 3.5 轉換為轉換為3NF3NF的保持函數(shù)依賴的分解的保持函數(shù)依賴的分解 對對 R 中的函數(shù)依賴集中的函數(shù)依賴集F進行進行“極小化處理極小化處理”, 仍記為仍記為F。 找出不在找出不在F中出現(xiàn)的屬性,把這樣的屬性構成一個中出現(xiàn)的屬性,把這樣的屬性構成一個 關系模式。把這些屬性從關系模式。把這些屬性從U中去掉,剩余的屬性仍中去掉,剩余的屬性仍 記為記為U。 若有若有 X A F,且,且XA=U,那么,那么 R,算法終,算法終止。止。 否則,對否則,對F按具有相同左部的原則分組假定分為按具有相同左部的原則分組假定分為 k組)組), 每一組函數(shù)依賴每一組函數(shù)依賴Fi所涉及的全部屬性形成所涉及的全部屬性形成 一個屬性集一個屬性
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- etc押金合同范本
- 出租工地合同范本
- 別墅臨街出售合同范本
- 與安踏合作合同范本
- 供應提成合同范本
- 醫(yī)用設備購銷合同范本
- 上門醫(yī)療服務合同范例
- 中標方轉讓合同范本
- 美發(fā)合租合同范本
- 勾機械轉讓合同范本
- 四大名著導讀-課件-(共18張)
- app 購買合同范例
- 高二上學期物理(理科)期末試題(含答案)
- 2024年房地產經紀人《房地產經紀專業(yè)基礎》考前沖刺必會試題庫300題(含詳解)
- 礦山生態(tài)修復工程不穩(wěn)定斜坡治理工程設計
- 躲避球運動用球項目評價分析報告
- 風機盤管更換施工方案
- 河道整治與生態(tài)修復工程監(jiān)理規(guī)劃
- 2024年度委托創(chuàng)作合同:原創(chuàng)美術作品設計與委托制作3篇
- 建設工程招標代理合同(GF-2005-0215)(標準版)
- 剪映專業(yè)版教學課件
評論
0/150
提交評論