關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第1頁
關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第2頁
關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第3頁
關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第4頁
關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1第七章第七章 關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論關(guān)系數(shù)據(jù)庫設(shè)計(jì)理論1 函數(shù)依賴的基本概念函數(shù)依賴的基本概念一、問題的提出一、問題的提出-數(shù)據(jù)依賴數(shù)據(jù)依賴及其影響及其影響例例 設(shè):建立某數(shù)據(jù)庫需要如下屬性:設(shè):建立某數(shù)據(jù)庫需要如下屬性: 供應(yīng)商號(hào)(供應(yīng)商號(hào)(sno)、)、供應(yīng)商所在城市(供應(yīng)商所在城市(city)、)、 郵編(郵編(zip)、)、零件號(hào)(零件號(hào)(pno),),供應(yīng)某種零件供應(yīng)某種零件 的數(shù)量(的數(shù)量(qty)。)。方案之一方案之一:用一個(gè)關(guān)系模式創(chuàng)建該數(shù)據(jù)庫:用一個(gè)關(guān)系模式創(chuàng)建該數(shù)據(jù)庫: FIRST(sno,city,zip,pno,qty ) KEY=(sno,pno)2存在問題:存在問題:

2、 實(shí)例:實(shí)例:FIRST(sno, city, zip, pno, qty) s1 c1 z1 p1 100 s1 c1 z1 p2 200 s2 c2 z2 p1 160 s2 c2 z2 p3 3201)數(shù)據(jù)冗余度太大數(shù)據(jù)冗余度太大。2)修改修改異常。可能導(dǎo)致數(shù)據(jù)庫異常。可能導(dǎo)致數(shù)據(jù)庫數(shù)據(jù)不一致數(shù)據(jù)不一致。3)刪除刪除異常。可能導(dǎo)致數(shù)據(jù)庫異常。可能導(dǎo)致數(shù)據(jù)庫丟失信息丟失信息。3 方案之二方案之二:用兩個(gè)關(guān)系模式,創(chuàng)建該數(shù)據(jù)庫:用兩個(gè)關(guān)系模式,創(chuàng)建該數(shù)據(jù)庫: 模式一:模式一:SECOND(sno,city,zip) KEY=(sno) 模式二:模式二:SP(sno,pno,qty) KEY=

3、(sno,pno) 實(shí)例:實(shí)例: SECOND(sno,city,zip) s1 c1 z1 s2 c2 z2 SP(sno,pno,qty) s1 p1 100 s1 p2 200 s2 p1 160 s2 p3 3204二、函數(shù)依賴基本概念二、函數(shù)依賴基本概念 注:注:1)“XY”必須對(duì)必須對(duì)R(U)的的任何一個(gè)關(guān)系任何一個(gè)關(guān)系實(shí)例實(shí)例都成立。都成立。 2)若)若XY, YX,則記作則記作XYY。若若Y不不函數(shù)依賴函數(shù)依賴X,則記作則記作 X Y Y 。 1. 函數(shù)依賴定義函數(shù)依賴定義 設(shè):設(shè):R(U)是屬性集是屬性集U 上的關(guān)系模式,上的關(guān)系模式,X,Y U。 如果對(duì)于如果對(duì)于R(U)的

4、的任意任意一個(gè)一個(gè)關(guān)系關(guān)系r,以及以及r 的的任意兩任意兩個(gè)元組個(gè)元組t1,t2,不存在:不存在:t1x=t2x,而而t1Y t2Y,則稱則稱X函數(shù)決定函數(shù)決定Y,或者說或者說Y函數(shù)依賴于函數(shù)依賴于X。記為記為:XY。5 實(shí)例:實(shí)例:FIRSTFIRST(snosno, city city, zip zip, pnopno, qty qty) s1 c1 z1 p1 100 s1 c1 z1 p2 200 s2 c2 z2 p1 160 s2 c2 z2 p3 320 分析:分析: sno pno ? sno zip ? (sno, pno) qty ? (sno, pno) zip ? 3)

5、函數(shù)依賴是)函數(shù)依賴是現(xiàn)實(shí)世界數(shù)據(jù)關(guān)聯(lián)現(xiàn)實(shí)世界數(shù)據(jù)關(guān)聯(lián)的表現(xiàn)形式。的表現(xiàn)形式。zip city ?sno city ? sno qty ? sno zip ?不同不同?!6 b. 一個(gè)系只有一名負(fù)責(zé)人;一個(gè)系只有一名負(fù)責(zé)人; 例例 設(shè)一個(gè)關(guān)系模式需保存如下屬性:設(shè)一個(gè)關(guān)系模式需保存如下屬性: U= S#,SD,MN,CN,G 。 其中:其中: S#:學(xué)生,學(xué)生, SD:系,系, MN:系負(fù)責(zé)人,系負(fù)責(zé)人, CN:課程,課程, G:成績(jī)。成績(jī)。 已知:已知:現(xiàn)實(shí)世界規(guī)定如下現(xiàn)實(shí)世界規(guī)定如下: a. 一個(gè)學(xué)生只屬于一個(gè)系;一個(gè)學(xué)生只屬于一個(gè)系; c. 每個(gè)學(xué)生學(xué)過一門課,每個(gè)學(xué)生學(xué)過一門課,最多獲

6、得一個(gè)成績(jī)最多獲得一個(gè)成績(jī)。F = S#SD,SDMN,(,(S#,CN)G 7 1) 定義定義完全完全函數(shù)依賴:在函數(shù)依賴:在R(U)中,如果中,如果XY,且且對(duì)對(duì) X的任何一個(gè)的任何一個(gè)真子集真子集X,都有都有X Y,則稱則稱Y對(duì)對(duì)X完全完全函數(shù)依賴,記作:函數(shù)依賴,記作: X f Y 2) 定義定義部份部份函數(shù)依賴:在函數(shù)依賴:在R(U)中,如果中,如果XY, 但但Y不完全不完全函數(shù)依賴函數(shù)依賴X,則稱則稱Y對(duì)對(duì)X部份部份函數(shù)依賴,函數(shù)依賴,記作記作X P Y。 2. 完全函數(shù)依賴與部分函數(shù)依賴完全函數(shù)依賴與部分函數(shù)依賴YAYBY(A, B) YfYYAB(A, B) Yp8 例例 FI

7、RSTFIRST(snosno,citycity,zipzip,pnopno,qtyqty) 有:有:sno zipsno zip, zip city, zip city, (snosno,pnopno) f f qty qty 但:(但:(snosno,pnopno) P P zip zipsnopnozipcity Qty 9 在在R(U)中,如果中,如果XY,Y X ( Y X), YZ,則稱則稱Z傳遞函數(shù)依賴傳遞函數(shù)依賴于于X,記為記為X t Z 。 snosno t citycity SECONDSECOND(Sno city zipSno city zip) S1 Beijing

8、100044 S1 Beijing 100044 S2 Beijing 100044 S2 Beijing 100044 S3 Shanghai 200001 S3 Shanghai 200001 例例 關(guān)系模式關(guān)系模式SECOND(snosno,citycity,zipzip)中,中, 3. 傳遞傳遞函數(shù)依賴定義:函數(shù)依賴定義: snosnozipzip, zipzipcitycity10 4. 4. 非平凡非平凡的函數(shù)依賴:若的函數(shù)依賴:若X XY Y,且且Y Y X X,則稱則稱 X XY Y是是非平凡非平凡的函數(shù)依賴。的函數(shù)依賴。 例例 (sno, pno ) qty 非平凡非平凡的函

9、數(shù)依賴的函數(shù)依賴 (sno, pno ) pno 平凡平凡的函數(shù)依賴的函數(shù)依賴 5. 如果如果K是關(guān)系模式是關(guān)系模式 R(U)的一個(gè)的一個(gè)鍵碼鍵碼,則必有:,則必有:K U 例例 對(duì)于關(guān)系模式:對(duì)于關(guān)系模式:Student(Sno, Sname, Sage) 若若Sno和和 Sname都是都是Student 的的鍵碼鍵碼,則必有:,則必有: Sno Sno, Sname, SageSname Sno, Sname, Sage 成立。成立。和和11 關(guān)系數(shù)據(jù)庫的任意一個(gè)關(guān)系,需要滿足一定關(guān)系數(shù)據(jù)庫的任意一個(gè)關(guān)系,需要滿足一定的數(shù)據(jù)依賴約束。滿足的數(shù)據(jù)依賴約束。滿足不同程度不同程度數(shù)據(jù)依賴約束的數(shù)

10、據(jù)依賴約束的關(guān)系,稱為關(guān)系,稱為不同范式不同范式的關(guān)系的關(guān)系。 滿足最低要求,即:滿足最低要求,即:關(guān)系模式的各屬性域是關(guān)系模式的各屬性域是“原子原子” 的,則該關(guān)系模式是第一范式的,簡(jiǎn)稱的,則該關(guān)系模式是第一范式的,簡(jiǎn)稱1 1NFNF(1 Normal Form)1 Normal Form)。 不同范式的關(guān)系,存在不同程度的不同范式的關(guān)系,存在不同程度的數(shù)據(jù)冗余數(shù)據(jù)冗余等缺點(diǎn)。盡量克服這些缺點(diǎn),需要對(duì)關(guān)系模式進(jìn)等缺點(diǎn)。盡量克服這些缺點(diǎn),需要對(duì)關(guān)系模式進(jìn)行分解,使之從低一級(jí)范式,轉(zhuǎn)化為高一級(jí)范式行分解,使之從低一級(jí)范式,轉(zhuǎn)化為高一級(jí)范式的集合。這種分解的集合。這種分解過程稱為規(guī)范化過程稱為規(guī)范

11、化。 2 2 關(guān)系模型的規(guī)范化關(guān)系模型的規(guī)范化12 FIRSTFIRST 2NF2NF 1. 1. 定義:設(shè)定義:設(shè)R R 是一個(gè)關(guān)系模式。若是一個(gè)關(guān)系模式。若R R 1NF1NF,且每且每一個(gè)一個(gè)非主屬性完全函數(shù)依賴于碼非主屬性完全函數(shù)依賴于碼,則,則 R R 2NF2NF。 一一、2 2NFNF 2. 2. 理解:若理解:若R R 2NFNF,則則R R 中中不存在非主屬性不存在非主屬性對(duì)對(duì)碼碼的的部份函數(shù)依賴部份函數(shù)依賴。 例例 FIRSTFIRST(snosno,citycity,zipzip,pnopno,qtyqty) KEY= KEY=(SnoSno,pnopno) 顯然,顯然,

12、FIRST FIRST 1NF1NF 存在(存在(snosno,pnopno) P P city city,zipzip13 SECOND(sno,city,zip),),KEY=(sno) SP(sno,pno,qty),),KEY=(sno,pno) SECOND 2NF, SP 2NF。 因而,整個(gè)關(guān)系數(shù)據(jù)庫模式也是因而,整個(gè)關(guān)系數(shù)據(jù)庫模式也是2NF的。的。 sno zip citysnopnoqty14 二、二、3NF 2. 理解:理解:若若R3NF,則則R中中不存在不存在非主屬性對(duì)碼非主屬性對(duì)碼的傳遞函數(shù)依賴。的傳遞函數(shù)依賴。 1. 定義:定義: 如果關(guān)系模式如果關(guān)系模式R(U,F(xiàn))

13、是是2NF的,且不存在的,且不存在鍵碼鍵碼X、屬性組屬性組 Y以及以及非主屬性非主屬性 Z ,使得使得 XY ,YZ 成立,則成立,則 R3NF(Z Y)(Y X) (參考:(參考:C. j. Date:數(shù)據(jù)庫系統(tǒng)導(dǎo)論:數(shù)據(jù)庫系統(tǒng)導(dǎo)論:p270 機(jī)械工業(yè)出版社機(jī)械工業(yè)出版社 2000年年10月第一版月第一版 )15 例例1 SECOND(sno,city,zip),KEY=(sno) sno zip city 顯然,顯然,SECOND 2NF, 但:但:SECOND 3NF 而:而:SECOND1(sno, zip) , , 以及以及 SECOND2(zip,city) 已經(jīng)已經(jīng)達(dá)到達(dá)到3NF

14、16 例例2 設(shè):關(guān)系模式設(shè):關(guān)系模式STJ(S,T,J) 其中:其中: S:學(xué)號(hào);學(xué)號(hào);T:教師;教師;J:課程課程。 問題問題:如何如何形式地確定形式地確定一個(gè)關(guān)系模式的鍵碼?一個(gè)關(guān)系模式的鍵碼? 規(guī)定:規(guī)定: a. 一個(gè)教師教一門課,一門課可以有不止一一個(gè)教師教一門課,一門課可以有不止一個(gè)教師講授;個(gè)教師講授; b. 一個(gè)學(xué)生選一門課,就確定一位教師一個(gè)學(xué)生選一門課,就確定一位教師。 (1) F: TJTJ , ,(S,J)T T (2) STJ的鍵碼:(的鍵碼:(S,J)和(和(S,T) STJ中中沒有非主屬性沒有非主屬性。 顯然,顯然,STJ3NF。17 1. 定義:設(shè):關(guān)系模式定義

15、:設(shè):關(guān)系模式R1NF。如果對(duì)于如果對(duì)于R的的每每一個(gè)函數(shù)依賴一個(gè)函數(shù)依賴XY(Y X),),X都含有鍵碼都含有鍵碼,那,那么么 RBCNF。 (2 2)在在函數(shù)依賴函數(shù)依賴范疇內(nèi),范疇內(nèi),BCNF達(dá)到最高規(guī)范化達(dá)到最高規(guī)范化程度。程度。 三、三、BCNF 2. 理解:理解:(1) BCNF具有以下性質(zhì):具有以下性質(zhì): a. a. 所有非主屬性完全依賴于每個(gè)鍵碼。所有非主屬性完全依賴于每個(gè)鍵碼。 b. b. 所有主屬性完全依賴于不包含它的鍵碼。所有主屬性完全依賴于不包含它的鍵碼。 c. c. 沒有任何(主沒有任何(主/ /非主)屬性完全函數(shù)依賴于任非主)屬性完全函數(shù)依賴于任一非主屬性(組)。一

16、非主屬性(組)。18 例例 關(guān)系模式關(guān)系模式STJ(S,T,J)是是3NF的,但的,但不是不是BCNF的。的。 F = TJ ,TJ ,(S,J)T T 可見:關(guān)系可見:關(guān)系STJ中,存在中,存在主屬性主屬性J部分依賴部分依賴于于不包含它的碼(不包含它的碼(S, T) STJ的鍵碼:(的鍵碼:(S,J)和(和(S,T) STJ BCNF19 例例 關(guān)系模式關(guān)系模式SJP(S,J,P) 其中:其中: S:學(xué)號(hào);學(xué)號(hào); J:課程;課程; P:考試名次。考試名次。 規(guī)定:規(guī)定: 每個(gè)學(xué)生、每門課程都有一個(gè)確定的名每個(gè)學(xué)生、每門課程都有一個(gè)確定的名次。次。 每門課程、每個(gè)名次中只有一位學(xué)生。每門課程、

17、每個(gè)名次中只有一位學(xué)生。 (S,J)P (J,P)S鍵碼鍵碼:(S,J)和(和(J,P)。 SJPBCNF20四、四、多值依賴和多值依賴和4NF(書書p69:3.7) 課程課程C 教師教師T 參考書參考書B 物理物理 李勇李勇 普通物理學(xué)普通物理學(xué) 王軍王軍 光學(xué)原理光學(xué)原理 物理習(xí)題集物理習(xí)題集 數(shù)學(xué)數(shù)學(xué) 周閔周閔 數(shù)學(xué)分析數(shù)學(xué)分析 張平張平 微分方程微分方程 高等代數(shù)高等代數(shù) 1一個(gè)例子一個(gè)例子 例例 某學(xué)校一門課由多名教師講授,他們某學(xué)校一門課由多名教師講授,他們都是都是使用使用 同一套同一套參考書。具體數(shù)據(jù)參考書。具體數(shù)據(jù)非規(guī)范地非規(guī)范地表示如下:表示如下:21把上述數(shù)據(jù)庫存入一張把上

18、述數(shù)據(jù)庫存入一張規(guī)范化規(guī)范化的二維表:的二維表:課程課程C 教師教師T 參考書參考書B物理物理 李勇李勇 普通物理學(xué)普通物理學(xué)物理物理 李勇李勇 光學(xué)物理光學(xué)物理物理物理 李勇李勇 物理習(xí)題集物理習(xí)題集物理物理 王軍王軍 普通物理學(xué)普通物理學(xué)物理物理 王軍王軍 光學(xué)物理光學(xué)物理物理物理 王軍王軍 物理習(xí)題集物理習(xí)題集數(shù)學(xué)數(shù)學(xué) 周周閔閔 數(shù)學(xué)分析數(shù)學(xué)分析數(shù)學(xué)數(shù)學(xué) 周周閔閔 微分方程微分方程數(shù)學(xué)數(shù)學(xué) 周周閔閔 高等代數(shù)高等代數(shù)數(shù)學(xué)數(shù)學(xué) 張平張平 數(shù)學(xué)分析數(shù)學(xué)分析數(shù)學(xué)數(shù)學(xué) 張平張平 微分方程微分方程數(shù)學(xué)數(shù)學(xué) 張平張平 高等代數(shù)高等代數(shù)22課程課程C 教師教師T 參考書參考書B物理物理 李勇李勇 普通

19、物理學(xué)普通物理學(xué)物理物理 李勇李勇 光學(xué)物理光學(xué)物理物理物理 李勇李勇 物理習(xí)題集物理習(xí)題集物理物理 王軍王軍 普通物理學(xué)普通物理學(xué)物理物理 王軍王軍 光學(xué)物理光學(xué)物理物理物理 王軍王軍 物理習(xí)題集物理習(xí)題集數(shù)學(xué)數(shù)學(xué) 周周閔閔 數(shù)學(xué)分析數(shù)學(xué)分析數(shù)學(xué)數(shù)學(xué) 周周閔閔 微分方程微分方程數(shù)學(xué)數(shù)學(xué) 周周閔閔 高等代數(shù)高等代數(shù)數(shù)學(xué)數(shù)學(xué) 張平張平 數(shù)學(xué)分析數(shù)學(xué)分析數(shù)學(xué)數(shù)學(xué) 張平張平 微分方程微分方程數(shù)學(xué)數(shù)學(xué) 張平張平 高等代數(shù)高等代數(shù)tswv注:注:w、v可以與可以與t、s相同相同。23 李勇李勇 王軍王軍 普通物理普通物理 光學(xué)物理光學(xué)物理 物理習(xí)題集物理習(xí)題集物物 理理 分析:分析:1)上述關(guān)系)上述關(guān)

20、系TEACH(C,T,B)中,中, TEACHBCNF,KEY=(C,T,B) 稱為稱為全碼全碼(ALL-KEY)。)。 2)對(duì)于)對(duì)于C的一個(gè)值的一個(gè)值(如如C=物理物理),有一組,有一組T值與之相對(duì)應(yīng)值與之相對(duì)應(yīng), 且這組值只且這組值只與與C有關(guān)有關(guān),而而與與B的取值的取值無關(guān)無關(guān)。 注意注意:C、B亦然。亦然。24 2多值依賴多值依賴 (1) 定義:定義: 設(shè):設(shè):R 是屬性集是屬性集U上的一個(gè)關(guān)系模式,上的一個(gè)關(guān)系模式,X、 Y和和Z都是都是U的子集,并且的子集,并且Z = U X Y。多值依賴多值依賴XYY成立,當(dāng)且僅當(dāng)對(duì)于關(guān)系模式成立,當(dāng)且僅當(dāng)對(duì)于關(guān)系模式R R的的任意任意一個(gè)一個(gè)關(guān)系關(guān)系r r,r r在在X X上的上的一個(gè)值一個(gè)值對(duì)應(yīng)對(duì)應(yīng)一組一組Y Y值值,且這組值且這組值與與Z Z的值無關(guān)。的值無關(guān)。25 多值依賴的多值依賴的對(duì)稱性對(duì)稱性: : 若若X Y,則必有則必有XZZ(Z = U-X-YZ = U-X-Y)。)。 平凡的平凡的多值依賴多值依賴: 若若X Y,而而Z=U-X-Y=,則稱為則稱為XY為為平凡的平凡的多值依賴多值依賴。 函數(shù)依賴是多值依賴的特例函數(shù)依賴是多值依賴的特例: 若若X YY成立,則必有成立,則必有X Y 。 (2)多值依賴的性質(zhì))多值依賴的性質(zhì)26 3. 第四范式(第四范式(4NF)(1)定義:設(shè)關(guān)系模式)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論