版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Data Base SystemData Base SystemData Base System 第四章第四章 關(guān)系型數(shù)據(jù)庫(kù)規(guī)范設(shè)計(jì)關(guān)系型數(shù)據(jù)庫(kù)規(guī)范設(shè)計(jì)Data Base SystemData Base SystemData Base System 本章主要內(nèi)容本章主要內(nèi)容4.1 關(guān)系模式的設(shè)計(jì)問題關(guān)系模式的設(shè)計(jì)問題4.2 函數(shù)依賴函數(shù)依賴4.3 關(guān)系模式的分解特性關(guān)系模式的分解特性4.4 關(guān)系模式的范式關(guān)系模式的范式SQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)SQL用戶用戶Base TableB1View V1View V2Base TableB2Base TableB3Base TableB4S
2、tored FileS1Stored FileS1Stored FileS1Stored FileS1外模式外模式模式模式內(nèi)模式內(nèi)模式SQL語言支持的關(guān)系數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)語言支持的關(guān)系數(shù)據(jù)庫(kù)的三級(jí)模式結(jié)構(gòu)S#、SNAME、SDEPT、C#、CNAME、TIME、 S#、C#、GRADES (S#、SNAME、SDEPT)C(C#、CNAME、TIME)SC(S#、C#、GRADE)S#SNAMESDEPTC#CNAMETIMEGRADECNAME_SNAME_GRADE(C#,S#,GRADE)Data Base SystemData Base SystemData Base System
3、 4.1關(guān)系模式的設(shè)計(jì)問題關(guān)系模式的設(shè)計(jì)問題對(duì)于一個(gè)現(xiàn)實(shí)問題,它有一個(gè)屬性集對(duì)于一個(gè)現(xiàn)實(shí)問題,它有一個(gè)屬性集U,U,其中每個(gè)其中每個(gè)屬性屬性AiAi對(duì)應(yīng)一個(gè)值域?qū)?yīng)一個(gè)值域DOMDOM(AiAi),它由屬性集),它由屬性集U U和和U U上成立的數(shù)據(jù)完整性約束集組成。關(guān)系上成立的數(shù)據(jù)完整性約束集組成。關(guān)系r r是是關(guān)系模式關(guān)系模式R(U)R(U)的當(dāng)前值,是一個(gè)元組的集合。的當(dāng)前值,是一個(gè)元組的集合。這里的關(guān)系模式和關(guān)系一般稱為這里的關(guān)系模式和關(guān)系一般稱為泛關(guān)系模式和泛關(guān)系模式和泛關(guān)系。泛關(guān)系。R(S#、SNAME、SDEPT、C#、CNAME、TIME、 S#、C#、GRADE)但是對(duì)于許多
4、現(xiàn)實(shí)問題,往往但是對(duì)于許多現(xiàn)實(shí)問題,往往R(U)不是恰當(dāng)?shù)男问剑仨毑皇乔‘?dāng)?shù)男问?,必須用一個(gè)關(guān)系模式的集合用一個(gè)關(guān)系模式的集合pR1,R2,Rk來代替來代替R(U),這里的這里的p稱為數(shù)據(jù)庫(kù)模式。對(duì)數(shù)據(jù)庫(kù)模式的每一個(gè)關(guān)系模稱為數(shù)據(jù)庫(kù)模式。對(duì)數(shù)據(jù)庫(kù)模式的每一個(gè)關(guān)系模式賦予一個(gè)當(dāng)前值,就得到一個(gè)數(shù)據(jù)庫(kù)實(shí)例(數(shù)據(jù)庫(kù))。式賦予一個(gè)當(dāng)前值,就得到一個(gè)數(shù)據(jù)庫(kù)實(shí)例(數(shù)據(jù)庫(kù))。S (S#、SNAME、SDEPT) C(C#、CNAME、TIME) SC(S#、C#、GRADE)Data Base SystemData Base SystemData Base System 什么是好的數(shù)據(jù)庫(kù)設(shè)計(jì)什么是好的數(shù)據(jù)
5、庫(kù)設(shè)計(jì)體現(xiàn)客觀世界的信息體現(xiàn)客觀世界的信息無過度的冗余無過度的冗余無插入異常無插入異常無更新復(fù)雜無更新復(fù)雜無刪除異常無刪除異常4.1關(guān)系模式的設(shè)計(jì)問題關(guān)系模式的設(shè)計(jì)問題Data Base SystemData Base SystemData Base System 4.14.1關(guān)系模式的設(shè)計(jì)問題關(guān)系模式的設(shè)計(jì)問題TNAMEADDRESSC#CNAMEt1a1c1n1t1a1c2n2t1a1c3n3t2a2c4n4t2a2c5n2t3a3c6n4關(guān)系模式關(guān)系模式R(TNAME,ADDRESS,C#,CNAME)4.14.1關(guān)系模式的設(shè)計(jì)問題關(guān)系模式的設(shè)計(jì)問題對(duì)數(shù)據(jù)庫(kù)操作時(shí)對(duì)數(shù)據(jù)庫(kù)操作時(shí), ,會(huì)出
6、現(xiàn)以下問題會(huì)出現(xiàn)以下問題1 1、數(shù)據(jù)冗余:數(shù)據(jù)冗余:( (數(shù)據(jù)重復(fù)存儲(chǔ)數(shù)據(jù)重復(fù)存儲(chǔ): :浪費(fèi)存儲(chǔ)空間浪費(fèi)存儲(chǔ)空間, ,數(shù)據(jù)庫(kù)維護(hù)困難)數(shù)據(jù)庫(kù)維護(hù)困難) 如一名教師教多門課程,他的地址要重復(fù)多次如一名教師教多門課程,他的地址要重復(fù)多次2 2、更新異常更新異常:如果一個(gè)教師教了三門課程,則如果他的地址變了,:如果一個(gè)教師教了三門課程,則如果他的地址變了,三個(gè)元組的地址信息都要變。若有一個(gè)沒變,就會(huì)造成地址三個(gè)元組的地址信息都要變。若有一個(gè)沒變,就會(huì)造成地址不唯一,產(chǎn)生錯(cuò)誤信息。不唯一,產(chǎn)生錯(cuò)誤信息。 3 3、插入異常插入異常:主鍵為空的記錄不能存在于數(shù)據(jù)庫(kù):主鍵為空的記錄不能存在于數(shù)據(jù)庫(kù), ,導(dǎo)致
7、不能進(jìn)行導(dǎo)致不能進(jìn)行插入操作插入操作 如教師沒有分配教學(xué)任務(wù),就不能插入數(shù)據(jù)庫(kù)。如教師沒有分配教學(xué)任務(wù),就不能插入數(shù)據(jù)庫(kù)。4. 4. 刪除異常刪除異常:刪除操作后:刪除操作后, ,會(huì)引起一些信息的丟失。會(huì)引起一些信息的丟失。 如一個(gè)原有教學(xué)任務(wù)的教師教師現(xiàn)在沒有教學(xué)任務(wù),要把這個(gè)如一個(gè)原有教學(xué)任務(wù)的教師教師現(xiàn)在沒有教學(xué)任務(wù),要把這個(gè)教師的所有元組都刪去。這樣就把這個(gè)教師的姓名和地址也教師的所有元組都刪去。這樣就把這個(gè)教師的姓名和地址也從數(shù)據(jù)庫(kù)中刪去了,不合理。從數(shù)據(jù)庫(kù)中刪去了,不合理。TNAMEADDRESSC#CNAMEt1a1c1n1t1a1c2n2t1a1c3n3t2a2c4n4t2a2
8、c5n2t3a3c6n44.14.1關(guān)系模式的設(shè)計(jì)問題關(guān)系模式的設(shè)計(jì)問題解決之道:分解! 分解! 再分解!TNAMEADDRESSt1a1t2a2t3a3TNAMEC#CNAMEt1c1n1t1c2n2t1c3n3t2c4n4t2c5n2t3c6n4分解為兩個(gè)模式:R1(TNAME,ADDRESS)R2(TNAME,C#,CNAME)考慮為學(xué)生的選課信息而設(shè)計(jì)一個(gè)關(guān)系模式??紤]為學(xué)生的選課信息而設(shè)計(jì)一個(gè)關(guān)系模式。過度冗余過度冗余數(shù)據(jù)重復(fù)數(shù)據(jù)重復(fù)更新異常更新異常更新代價(jià)大、可能導(dǎo)致數(shù)據(jù)不一致更新代價(jià)大、可能導(dǎo)致數(shù)據(jù)不一致刪除異常刪除異常部分信息的刪除可能導(dǎo)致信息的丟失部分信息的刪除可能導(dǎo)致信息的
9、丟失插入異常插入異常必須有完整信息必須有完整信息怎么分解最佳?4.1關(guān)系模式的設(shè)計(jì)問題關(guān)系模式的設(shè)計(jì)問題Data Base SystemData Base SystemData Base System 4.2 函數(shù)依賴函數(shù)依賴 (FD, Function Dependence) y=f(x)y=3xData Base SystemData Base SystemData Base System 4.2.1 函數(shù)依賴定義函數(shù)依賴定義設(shè)有關(guān)系模式R(A1,A2,.An)或簡(jiǎn)記為R(U),X,Y是U的子集,r是R的任一具體關(guān)系, 如果對(duì)r的任意兩個(gè)元組t1,t2,由t1X=t2X導(dǎo)致t1Y=t2Y,
10、則稱X函數(shù)決定Y,或Y函數(shù)依賴于X, 記為XY。XY為模式R的一個(gè)函數(shù)依賴。 如如S# Sname, (S#,C#) Grade 該定義理解如下:有一張?jiān)O(shè)計(jì)好的二維表,X,Y是表的某些列(可以是一列,也可以是多列),若在表中的第t1行,和第t2行上的X值相等, 那么必有t1行和t2行上的Y值也相等,這就是說Y函數(shù)依賴于X。 比如,有如下二維表 Data Base SystemData Base SystemData Base System 在表中,凡成績(jī)相同的,對(duì)應(yīng)的“成績(jī)等級(jí)”也必是相同的,因此,“成績(jī)等級(jí)”函數(shù)依賴于成績(jī)。 但是反過來則不成立。 Notice: (1)在這張表中,任何一行的
11、關(guān)系均應(yīng)符合函數(shù)依賴的條件,如果有一行不符合函數(shù)依賴的條件,則函數(shù)依賴對(duì)于這個(gè)關(guān)系就不成立。 (2)函數(shù)依賴是否成立是不可證明的,只能通過屬性的含義來判斷. Data Base SystemData Base SystemData Base System 表例表例學(xué)號(hào)學(xué)號(hào)姓名姓名成績(jī)成績(jī)成績(jī)等級(jí)成績(jī)等級(jí)0000100001李里李里7777C C0000200002丁力丁力9191A A0000300003李小紅李小紅8585B B0000400004馬琳馬琳8585B B0000500005王佳怡王佳怡6666D D0000600006胡林胡林7070C C.Data Base SystemD
12、ata Base SystemData Base System 舉例:職工號(hào)(A) 基本工資(B)獎(jiǎng)金(C) 051390 50 052 420 50 053 390 80A B A C B A C AData Base SystemData Base SystemData Base System 4.2.2 函數(shù)依賴幾點(diǎn)說明函數(shù)依賴幾點(diǎn)說明1. 函數(shù)依賴是語義范疇的概念.它反映了一種語義完整性約束,只能根據(jù)語義來確定一個(gè)函數(shù)依賴.例如,“姓名”“年齡”這個(gè)函數(shù)依賴只有在沒有同名人的條件下成立,否則,此函數(shù)依賴不成立。2. 函數(shù)依賴是指關(guān)系R模式的所有關(guān)系元組均應(yīng)滿足的約束條件,而不是關(guān)系模式
13、中的某個(gè)或某些元組滿足的約束條件。Data Base SystemData Base SystemData Base System 4.2.2 函數(shù)依賴幾點(diǎn)說明函數(shù)依賴幾點(diǎn)說明3. 函數(shù)依賴與屬性間的聯(lián)系類型有關(guān)(1)若屬性X和Y之間有“一對(duì)一”的聯(lián)系, 則X Y,Y X,X Y.(如不存在同名的學(xué)號(hào)和姓名)(2)若屬性X和Y之間有“多對(duì)一”的聯(lián)系, 則X Y,但Y X. (3)若屬性X和Y之間有“多對(duì)多”的聯(lián)系, 則X與Y之間不存在任何函數(shù)依賴.當(dāng)確定函數(shù)依賴關(guān)系時(shí)當(dāng)確定函數(shù)依賴關(guān)系時(shí), ,可從屬性間的聯(lián)系入手可從屬性間的聯(lián)系入手Data Base SystemData Base Syste
14、mData Base System 函數(shù)依賴函數(shù)依賴 (FD, Function Dependence) y=f(x)問:?jiǎn)枺篨 X、Y Y是誰函數(shù)依賴誰?是誰函數(shù)依賴誰?是是X X函數(shù)依賴函數(shù)依賴Y Y?還是?還是Y Y函數(shù)依賴函數(shù)依賴X X?答:答:Y Y函數(shù)依賴函數(shù)依賴X X(X X函數(shù)決定函數(shù)決定Y Y)X=1 y=3;X=2 y=6;y=3 x=1;y=6 x=2;y=x2X=1 y=1;X=-2y=4;y=1 x=1or x=-1;y2=x2y=1 x=1or x=-1;x=1 y=1or y=-1;y=3x問:?jiǎn)枺篨 X、Y Y是誰函數(shù)依賴誰?是誰函數(shù)依賴誰?是是X X函數(shù)依賴函
15、數(shù)依賴Y Y?還是?還是Y Y函數(shù)依賴函數(shù)依賴X X?答:沒有任何函數(shù)依賴關(guān)系答:沒有任何函數(shù)依賴關(guān)系Data Base SystemData Base SystemData Base System 4.2.2 函數(shù)依賴幾點(diǎn)說明函數(shù)依賴幾點(diǎn)說明4. 如果X Y,并且Y不是X的子集,則稱X Y是非平凡的函數(shù)依賴非平凡的函數(shù)依賴;如果Y是X的子集,則稱XY是平凡的函數(shù)依賴; 我們討論的是非平凡的函數(shù)依賴.例如:(S#,SN) SN是平凡的函數(shù)依賴5. 函數(shù)依賴的存在,決定了自然連接的特性 設(shè)關(guān)系模式R(X,Y,Z),X,Y,Z為不相交的屬性集合,若XY,X Z, 則有R(X,Y,Z)=R(X,Y)
16、 R(X,Z) 即用它們的自然連接可復(fù)員原關(guān)系模式Data Base SystemData Base SystemData Base System 舉例:舉例:關(guān)系模式關(guān)系模式S(S#,SN,C#,G,CN,TN,TA)S(S#,SN,C#,G,CN,TN,TA)主鍵:主鍵:(S#,C#)函數(shù)依賴:函數(shù)依賴:S# SN(每個(gè)學(xué)生只能有一個(gè)姓名)(每個(gè)學(xué)生只能有一個(gè)姓名)C# CN(每個(gè)課程號(hào)只能對(duì)應(yīng)一門課程每個(gè)課程號(hào)只能對(duì)應(yīng)一門課程)TN TA(每個(gè)教師只能有一個(gè)年齡)每個(gè)教師只能有一個(gè)年齡)(S#,C#) G(每個(gè)學(xué)生學(xué)習(xí)一門課程只每個(gè)學(xué)生學(xué)習(xí)一門課程只能有一個(gè)成績(jī))能有一個(gè)成績(jī))Data
17、Base SystemData Base SystemData Base System 4.2.2 函數(shù)依賴函數(shù)依賴ABC142356346738910說明關(guān)系是否滿足下列函數(shù)依賴:說明關(guān)系是否滿足下列函數(shù)依賴:A A B A B A C AB C AB C C C C A AC A AC B B不滿足AB,因?yàn)椋?,5,6)和(3,4,6),t1(A)=t2(A)=3,但是t1(B)=5而t2(A)=4A C AB C C AData Base SystemData Base SystemData Base System 4.2.3 鍵鍵定義定義 超鍵超鍵:設(shè):設(shè)X X為關(guān)系為關(guān)系R R的屬
18、性或?qū)傩越M,的屬性或?qū)傩越M,U U為為R R的元的元組若組若X X U U,則稱,則稱X X為為R R的超鍵。的超鍵。 候選鍵候選鍵:設(shè):設(shè)X X為為R R的超鍵,若的超鍵,若X X中不含多余屬性,中不含多余屬性,則稱則稱X X為為R R的候選鍵。的候選鍵。 主鍵主鍵:若關(guān)系:若關(guān)系R R有多個(gè)候選鍵,則可以從中選有多個(gè)候選鍵,則可以從中選定一個(gè)作為定一個(gè)作為R R的主鍵。的主鍵。 主屬性主屬性:包含在任何一個(gè)候選鍵中的屬性,稱:包含在任何一個(gè)候選鍵中的屬性,稱作主屬性,不包含在任何鍵中的屬性稱為非主作主屬性,不包含在任何鍵中的屬性稱為非主屬性。屬性。 全鍵全鍵:關(guān)系模式的鍵由整個(gè)屬性組構(gòu)成。
19、:關(guān)系模式的鍵由整個(gè)屬性組構(gòu)成。如(如(S#S#,C#C#,T#T#)Data Base SystemData Base SystemData Base System 4.2.3 鍵鍵候選鍵的兩個(gè)性質(zhì)候選鍵的兩個(gè)性質(zhì): :1 1、標(biāo)識(shí)的唯一性標(biāo)識(shí)的唯一性: : 對(duì)于對(duì)于R(U)R(U)中的每一元組中的每一元組,X,X的值的值確定后確定后, ,該元組就相應(yīng)確定了該元組就相應(yīng)確定了. .即:即:X X函數(shù)決定該關(guān)系的所有其他屬性函數(shù)決定該關(guān)系的所有其他屬性(XR)(XR) X X A1A2A1A2AnAnS# S# SD,SS,SBirthdaySD,SS,SBirthday2 2、無冗余性無冗余
20、性: X: X是屬性組的情況下是屬性組的情況下,X,X的任何真子集的任何真子集都不能唯一標(biāo)識(shí)該元組都不能唯一標(biāo)識(shí)該元組 即:不存在即:不存在X X的真子集的真子集Y,Y,使得使得Y Y A1A2A1A2AnAn (S#,C#) (S#,C#) GradeGradeData Base SystemData Base SystemData Base System 4.2.3 鍵鍵舉例:設(shè)關(guān)系模式R(XYZ),已知FD是X Y,Y Z,那么可以推出X XYZ也在F+中,但X的真子集(此處是空值)不可能函數(shù)決定XYZ,所以X是模式R的鍵。職工關(guān)系模式ZG(工號(hào),姓名,年齡,性別,工資)工號(hào)工號(hào) ( (
21、工號(hào),姓名,年齡,性別,工資),工號(hào),姓名,年齡,性別,工資),工號(hào)沒有真子集,所以工號(hào)是鍵。工號(hào)沒有真子集,所以工號(hào)是鍵。( (工號(hào),姓名)工號(hào),姓名) ( (工號(hào),姓名,年齡,性別,工號(hào),姓名,年齡,性別,工資)工資) ,但不是鍵。,但不是鍵。Data Base SystemData Base SystemData Base System 4.3 4.3 關(guān)系模式的分解特性關(guān)系模式的分解特性我們可以通過把一個(gè)關(guān)系模式的分解成我們可以通過把一個(gè)關(guān)系模式的分解成多個(gè)關(guān)系模式,以解決它的插入、刪除多個(gè)關(guān)系模式,以解決它的插入、刪除和更新操作所帶來的一些問題。和更新操作所帶來的一些問題。為了在分解
22、要保證原來模式所滿足的特為了在分解要保證原來模式所滿足的特性,要求分解處理具有無損聯(lián)接和保持性,要求分解處理具有無損聯(lián)接和保持函數(shù)依賴。函數(shù)依賴。Data Base SystemData Base SystemData Base System 4.3.1 模式分解中存在的問題模式分解中存在的問題設(shè)有關(guān)系R=A1A2An,R1,R2Rn是R的子集,R=R1UR2URk,設(shè)有關(guān)系模式R1,R2Rk的集合用p表示,p R1,R2Rk。用p代替R的過程稱為關(guān)系模式的分解。P稱為R的一個(gè)分解,也稱為數(shù)據(jù)庫(kù)模式。R稱為泛關(guān)系模式,R對(duì)應(yīng)的當(dāng)前值稱為泛關(guān)系。數(shù)據(jù)庫(kù)對(duì)應(yīng)的當(dāng)前值稱為數(shù)據(jù)庫(kù)實(shí)例,它是由數(shù)據(jù)庫(kù)模式
23、中的每一個(gè)關(guān)系模式的當(dāng)前值組成, r1,r2rk來表示。Data Base SystemData Base SystemData Base System 4.3 .1 模式分解中存在的問題模式分解中存在的問題實(shí)際上,關(guān)系模式的分解,不僅僅是屬性集合的分解,它是對(duì)關(guān)系模式上的函數(shù)依賴集,以及關(guān)系模式的當(dāng)前值的分解的具體表現(xiàn)。4.3.1 模式分解中存在的問題模式分解中存在的問題R(A, B, C)ABC112221AB1122BC1221ABC112221AB(R)BC(R)AB(R)BC(R)R(A, B, C)ABC111212AB1121BC1112ABC111112211212AB(R)B
24、C(R)AB(R)BC(R)有損分解有損分解無損分解無損分解Data Base SystemData Base SystemData Base System 4.3.1 模式分解中存在的問題模式分解中存在的問題關(guān)系模式的分解有幾個(gè)衡量標(biāo)準(zhǔn):關(guān)系模式的分解有幾個(gè)衡量標(biāo)準(zhǔn):分解具有無損連接分解具有無損連接分解保持函數(shù)依賴分解保持函數(shù)依賴分解既要保持依賴,又要具有無損聯(lián)接分解既要保持依賴,又要具有無損聯(lián)接達(dá)到更高級(jí)范式達(dá)到更高級(jí)范式Data Base SystemData Base SystemData Base System 4.3.2 無損聯(lián)接無損聯(lián)接無損連接分解無損連接分解 定義定義關(guān)系模式關(guān)
25、系模式R,分解成關(guān)系模式,分解成關(guān)系模式p=R1,R2Rk,F是是R上的一個(gè)函數(shù)依賴集。上的一個(gè)函數(shù)依賴集。如果對(duì)如果對(duì)R中滿足中滿足F的每一個(gè)關(guān)系的每一個(gè)關(guān)系r都有:都有: r=R1(r) R2(r) Rk(r)則稱此分解則稱此分解p是相對(duì)于是相對(duì)于F是是“無損連接分解無損連接分解”。即即r為它在為它在Ri上的投影的自然聯(lián)接。上的投影的自然聯(lián)接。 Ri(r) 表示關(guān)系表示關(guān)系r在模式在模式Ri的屬性上的投影。的屬性上的投影。4.3.2 無損聯(lián)接的測(cè)試無損聯(lián)接的測(cè)試將R(A,B,C)分解為兩個(gè)模式R1(A,B)和R2(B,C)ABCa1b1c1a2b1c2a7b3c3a8b4c4a9b5c5A
26、Ba1b1a2b1a7b3a8b4a9b5BCb1c1b1c2b3c3b4c4b5c5R(A,B,C)關(guān)系r1關(guān)系r2關(guān)系4.3.2 無損聯(lián)接的測(cè)試無損聯(lián)接的測(cè)試ABCa1b1c1a2b1c2a7b3c3a8b4c4a9b5c5R(A,B,C)關(guān)系A(chǔ)BCa1b1c1a1b1c2a2b1c1a2b1c2a7b3c3a8b4c4a9b5c5R1(A,B)R2(B,C)所以把所以把R R(A,B,C)A,B,C)分解為兩個(gè)模式分解為兩個(gè)模式R1(A,B)R1(A,B)和和R2(B,C)R2(B,C)不是具有無損聯(lián)接性的分解。不是具有無損聯(lián)接性的分解。Data Base SystemData Base
27、 SystemData Base System 4.3.2 無損聯(lián)接的測(cè)試無損聯(lián)接的測(cè)試如果一個(gè)模式分解不是無損聯(lián)接分解,如果一個(gè)模式分解不是無損聯(lián)接分解,那么分解不能通過自然聯(lián)接運(yùn)算恢復(fù),那么分解不能通過自然聯(lián)接運(yùn)算恢復(fù), 因此要求分解時(shí)利用屬因此要求分解時(shí)利用屬性間的函數(shù)依賴的性質(zhì)性間的函數(shù)依賴的性質(zhì),才能保證此分解具有無損聯(lián)接性。才能保證此分解具有無損聯(lián)接性。 問題提出:在關(guān)系模式的規(guī)范化處理過程中,不僅要知道一個(gè)給定的函數(shù)依賴集合,還要知道由給定的函數(shù)依賴集合所蘊(yùn)涵(或推導(dǎo)出)的所有函數(shù)依賴的集合。為此,需要一個(gè)有效而完備的公理系統(tǒng),Armstrong公理系統(tǒng)即是這樣的一個(gè)系統(tǒng)。Arm
28、strong公理系統(tǒng) 蘊(yùn)含定義:設(shè)F是R上的函數(shù)依賴集合, XY是R的一個(gè)函數(shù)依賴 。如果R的一個(gè)關(guān)系實(shí)例滿足F,則必然滿足XY,則稱F邏輯蘊(yùn)含(Imply) XY。 Armstrong公理:為從已知的函數(shù)依賴推導(dǎo)出其他的函數(shù)依賴,Armstrong提出了一套推理規(guī)則,稱為Armstrong公理(Armstrongs Axioms)。 閉包定義:函數(shù)依賴集合F所邏輯蘊(yùn)含的函數(shù)依賴的全體,稱為F的閉包(Closure), 記為F+。 (2) 增廣律增廣律(Augmentation)(Augmentation) :若XY,ZU,則XZYZ。 (1) 自反律自反律(Reflexivity)(Refl
29、exivity) :若YXU,則XY。 (3) 傳遞律傳遞律(Transitivity)(Transitivity) :若XY和YZ,則XZ。 引理引理 1 1:Armstrong公理是正確的,即:如F成立,則由F根據(jù)Armstrong公理所推導(dǎo)的函數(shù)依賴總是成立的。 引理引理 2 2:如下三條推理規(guī)則是正確的: 公理包含如下三條推理規(guī)則: (2) 偽傳遞規(guī)則偽傳遞規(guī)則(Pseudo Transitivity)(Pseudo Transitivity):如果XY,YWZ,則XWZ。 (1) 合并規(guī)則合并規(guī)則(Union)(Union):如果XY,XZ,則XYZ。 (3) 分解規(guī)則分解規(guī)則(De
30、composition)(Decomposition):如果XY,ZY,則XZ。 或:如XYZ,則XY,XZ。F的閉包的閉包F+ F=X Y,Y Z, F+計(jì)算是NP完全問題,X A1A2.An F+=X , Y , Z , XY , XZ , YZ , XYZ , X X, Y Y, Z Z, XY X, XZ X, YZ Y, XYZ X,X Y, Y Z , XY Y, XZ Y, YZ Z, XYZ Y,X Z, Y YZ, XY Z, XZ Z, YZ YZ, XYZ Z,X XY, XY XY, XZ XY, XYZ XY, X XZ, XY YZ, XZ XZ, XYZ YZX
31、YZ, XY XZ, XZ XY, XYZ XZ,X ZYZ, XY XYZ, XZ XYZ, XYZ XYZ Data Base SystemData Base SystemData Base System S(學(xué)號(hào),系號(hào),宿舍樓號(hào))F=學(xué)號(hào)系號(hào),系號(hào)宿舍樓號(hào)顯然,S不屬于3NF。分解分解0: S01(學(xué)號(hào)學(xué)號(hào)),S02(系號(hào)系號(hào),宿舍樓號(hào)宿舍樓號(hào))Data Base SystemData Base SystemData Base System S(學(xué)號(hào),系號(hào),宿舍樓號(hào))F=學(xué)號(hào)系號(hào),系號(hào)宿舍樓號(hào)顯然,S不屬于3NF。顯然分解分解0是不可行的。是不可行的。分解分解0 : S01(學(xué)號(hào)學(xué)號(hào)),
32、 S02(系號(hào)系號(hào),宿舍樓號(hào)宿舍樓號(hào)) 分解分解1: S11(學(xué)號(hào)學(xué)號(hào),宿舍樓號(hào)宿舍樓號(hào)),S12(系號(hào)系號(hào),宿舍樓號(hào)宿舍樓號(hào))分解分解2: S21(學(xué)號(hào)學(xué)號(hào),系號(hào)系號(hào)), S22(學(xué)號(hào)學(xué)號(hào), 宿舍樓號(hào)宿舍樓號(hào))分解分解3: S31(學(xué)號(hào)學(xué)號(hào),系號(hào)系號(hào)), S32(系號(hào)系號(hào),宿舍樓號(hào)宿舍樓號(hào))顯然,都屬于3NF(事實(shí)上,都屬于BCNF、4NF)。Data Base SystemData Base SystemData Base System 學(xué)號(hào)系號(hào)宿舍樓號(hào)S1D1AS2D2BS3D2BS4D3A學(xué)號(hào)宿舍樓號(hào)S1AS2BS3BS4A系號(hào)宿舍樓號(hào)D1AD2BD3A投影操作(投影操作(分解分解1:
33、 S11,S12)SData Base SystemData Base SystemData Base System 學(xué)號(hào)宿舍樓號(hào)系號(hào)宿舍樓號(hào)S1AD1AS1AD2BS1AD3AS2BD1AS2BD2BS2BD3AS3BD1AS3BD2BS3BD3AS4AD1AS4AD2BS4AD3AData Base SystemData Base SystemData Base System 學(xué)號(hào)系號(hào)宿舍樓號(hào)S1D1AS1D3AS2D2BS3D2BS4D1AS4D3A學(xué)號(hào)系號(hào)宿舍樓號(hào)S1D1AS2D2BS3D2BS4D3ASSSS結(jié)論:結(jié)論:分解分解1不是不是好的分解好的分解Data Base Syste
34、mData Base SystemData Base System 3個(gè)或更多的關(guān)系模式的情況下要判別分解是否具有無損連接性要比較復(fù)雜的算法。2個(gè)則很容易。定理1U1U2U1-U2F+或U1U2U2-U1F+定理2如果FD XY在模式R上成立,且XY=,那么R分解成 =R-Y,XY是無損分解,例如:S(學(xué)號(hào),系號(hào),宿舍樓號(hào))F=學(xué)號(hào)學(xué)號(hào)系號(hào)系號(hào),系號(hào)宿舍樓號(hào)XY, =R-Y,XYS1(學(xué)號(hào),宿舍樓號(hào)) S2(學(xué)號(hào)學(xué)號(hào),系號(hào)系號(hào))Data Base SystemData Base SystemData Base System 分解分解1: S11(學(xué)號(hào)學(xué)號(hào),宿舍樓號(hào)宿舍樓號(hào)),S12(系號(hào)系號(hào),
35、宿舍樓宿舍樓號(hào)號(hào))U1U2=宿舍樓號(hào),宿舍樓號(hào), U1-U2=學(xué)號(hào)(不成立)學(xué)號(hào)(不成立)或U1U2=宿舍樓號(hào),宿舍樓號(hào), U1-U2=系號(hào)(不成立)系號(hào)(不成立)(F=學(xué)號(hào)系號(hào),系號(hào)宿舍樓號(hào), F+ )Data Base SystemData Base SystemData Base System 分解分解2:S21(學(xué)號(hào)學(xué)號(hào),系號(hào)系號(hào)),S22(學(xué)號(hào)學(xué)號(hào), 宿舍樓號(hào)宿舍樓號(hào))U1U2=學(xué)號(hào),學(xué)號(hào), U1-U2=系號(hào)。系號(hào)。顯然,顯然, U1U2U1-U2。結(jié)論:分解。結(jié)論:分解2具具有無損連接性有無損連接性.但是分解但是分解2也不是好的方案。也不是好的方案。Data Base System
36、Data Base SystemData Base System 假設(shè)學(xué)生S3從D2系轉(zhuǎn)到D3系,要修改兩個(gè)關(guān)系,否則數(shù)據(jù)庫(kù)中的信息會(huì)不一致。這是由于分解得到的兩個(gè)關(guān)系模式不是互相獨(dú)立造成的。系號(hào)宿舍樓號(hào)沒投影在同一個(gè)關(guān)系中。于是我們有要求模式分解保持函數(shù)依賴這條等價(jià)標(biāo)準(zhǔn)。結(jié)論:分解2雖然是無損分解,但丟失了函數(shù)依賴系號(hào)宿舍樓號(hào)學(xué)號(hào)宿舍樓號(hào)S1AS2BS3BS4A學(xué)號(hào)系號(hào)S1D1S2D2S3D2S4D3Data Base SystemData Base SystemData Base System 分解分解3: S31(學(xué)號(hào)學(xué)號(hào),系號(hào)系號(hào)),S32(系號(hào)系號(hào),宿舍樓號(hào)宿舍樓號(hào)) F=學(xué)號(hào)系號(hào),
37、系號(hào)宿舍樓號(hào)1:保持函數(shù)依賴的。2:根據(jù)U1U2U1-U2F+或U1U2U2-U1F+U1U2=系號(hào),系號(hào), U2-U1=宿舍樓號(hào)宿舍樓號(hào)這一分解也這一分解也具有無損連接性結(jié)論:分解分解3是一個(gè)好的分解Data Base SystemData Base SystemData Base System 4.3.3 保持函數(shù)依賴的分解保持函數(shù)依賴的分解保持關(guān)系模式分解等價(jià)的另一個(gè)重要條保持關(guān)系模式分解等價(jià)的另一個(gè)重要條件是關(guān)系模式的函數(shù)依賴集在分解后仍件是關(guān)系模式的函數(shù)依賴集在分解后仍在數(shù)據(jù)庫(kù)模式中保持不變。在數(shù)據(jù)庫(kù)模式中保持不變。即關(guān)系模式即關(guān)系模式R R 到到 =R1,R2=R1,R2RkRk
38、的分解,的分解,應(yīng)使函數(shù)依賴集應(yīng)使函數(shù)依賴集F,F,被被F F在這些在這些RiRi上的投影上的投影蘊(yùn)涵。蘊(yùn)涵。Data Base SystemData Base SystemData Base System F在在AB,AC,DB,CD上的投影分別為上的投影分別為AB,AC,DC 丟失了丟失了BC,AD, ,所以此分解不保持所以此分解不保持FDFDn設(shè)關(guān)系模式R(A,B,C,D)F是R上成立的FD集,F(xiàn)=AB,BC,AD,DC, , =AB,AC,BD,CD是R的一個(gè)分解。4.3.3 保持函數(shù)依賴的分解保持函數(shù)依賴的分解Data Base SystemData Base SystemData
39、Base System 4.3.4 模式分解與模式等價(jià)問題模式分解與模式等價(jià)問題模式分解的兩個(gè)特性實(shí)際上涉及兩個(gè)數(shù)據(jù)庫(kù)模式的等價(jià)問題,這種等價(jià)數(shù)據(jù)等價(jià)和依賴等價(jià)兩個(gè)方面。1.數(shù)據(jù)等價(jià)是指兩個(gè)數(shù)據(jù)庫(kù)實(shí)例應(yīng)表示同樣的信息內(nèi)數(shù)據(jù)等價(jià)是指兩個(gè)數(shù)據(jù)庫(kù)實(shí)例應(yīng)表示同樣的信息內(nèi)容,用無損分解衡量。容,用無損分解衡量。2.依賴等價(jià)是指兩個(gè)數(shù)據(jù)庫(kù)模式應(yīng)有相同的依賴集閉依賴等價(jià)是指兩個(gè)數(shù)據(jù)庫(kù)模式應(yīng)有相同的依賴集閉包。在依賴集閉包相等的情況下,數(shù)據(jù)的語義是不包。在依賴集閉包相等的情況下,數(shù)據(jù)的語義是不會(huì)出差錯(cuò)的會(huì)出差錯(cuò)的。違反數(shù)據(jù)等價(jià)或語義等價(jià)的分解很難說是一個(gè)好的分解。但同時(shí)達(dá)到也不是簡(jiǎn)單的事情。Data Base
40、 SystemData Base SystemData Base System 4.3.4 關(guān)于模式分解的幾個(gè)事實(shí)關(guān)于模式分解的幾個(gè)事實(shí)分解具有無損連接性和分解保持函數(shù)依賴是兩個(gè)相互分解具有無損連接性和分解保持函數(shù)依賴是兩個(gè)相互獨(dú)立的標(biāo)準(zhǔn)。獨(dú)立的標(biāo)準(zhǔn)。1.具有無損連接性性的分解不一定保持函數(shù)依賴?yán)绶纸?.2保持函數(shù)依賴的分解不一定具有無損連接性如SC(SNO,DNO,CNO,CREDIT)F=SNO DNO,CNO CREDIT分解為兩個(gè)關(guān)系模式:SC1(SNO,DNO)SC2(CNO,CREDIT)這個(gè)分解保持函數(shù)依賴的分解不具有無損連接性結(jié)論:關(guān)系模式的一個(gè)分解可能具有無損連接性,可能是
41、保持函數(shù)依賴,有可能是即具有無損連接性也保持函數(shù)依賴Data Base SystemData Base SystemData Base System 4.3.4關(guān)于模式分解的幾個(gè)事實(shí)關(guān)于模式分解的幾個(gè)事實(shí)n若要求分解具有無損連接性,那么模式分解可以達(dá)到BCNF;n若要求分解保持函數(shù)依賴,那么模式分解可以達(dá)到3NF,但不一定達(dá)到BCNF;n若要求分解即具有無損連接性,又保持函數(shù)依賴,那么模式分解可以達(dá)到3NF,但不一定達(dá)到BCNF;Data Base SystemData Base SystemData Base System 4.4 關(guān)系模式的范式關(guān)系模式的范式 (NF,Normal Form
42、) 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) BCNF 第四范式(4NF) 第五范式(5NF)考核要求:了解考核要求:了解考核要求:領(lǐng)會(huì)考核要求:領(lǐng)會(huì)Data Base SystemData Base SystemData Base System 為什么要關(guān)系規(guī)范化?為什么要關(guān)系規(guī)范化? 關(guān)系模式的存儲(chǔ)異常關(guān)系模式的存儲(chǔ)異常: :數(shù)據(jù)冗余、更新異常、數(shù)據(jù)冗余、更新異常、 插入異常和刪除異常插入異常和刪除異常 關(guān)系模式的設(shè)計(jì):把泛關(guān)系模式分解成規(guī)范關(guān)系模式的設(shè)計(jì):把泛關(guān)系模式分解成規(guī)范化的數(shù)據(jù)庫(kù)模式?;臄?shù)據(jù)庫(kù)模式。Data Base SystemData Base Syste
43、mData Base System 二維表的例子二維表的例子學(xué)號(hào)學(xué)號(hào)姓名姓名專業(yè)專業(yè)課程號(hào)課程號(hào)課程名課程名教師教師系系辦公室辦公室電話電話教室教室成績(jī)成績(jī)01張張計(jì)算計(jì)算機(jī)機(jī)CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算計(jì)算機(jī)機(jī)13025894024940989張張計(jì)算計(jì)算機(jī)機(jī)CS02數(shù)學(xué)數(shù)學(xué)趙趙數(shù)學(xué)數(shù)學(xué)30235890323882376張張計(jì)算計(jì)算機(jī)機(jī)CS03英語英語陳陳外語外語5034589403050207102王王網(wǎng)絡(luò)網(wǎng)絡(luò)CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算計(jì)算機(jī)機(jī)13025894024940973王王網(wǎng)絡(luò)網(wǎng)絡(luò)CS02數(shù)學(xué)數(shù)學(xué)趙趙數(shù)學(xué)數(shù)學(xué)30235890323882388王王網(wǎng)絡(luò)網(wǎng)絡(luò)CS03英語英語陳陳外語外
44、語50345894030502003李李通訊通訊CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算計(jì)算機(jī)機(jī)130258940249409李李通訊通訊CS04C+周周計(jì)算計(jì)算機(jī)機(jī)303358903338832李李通訊通訊CS03英語英語陳陳外語外語503458940305020#Data Base SystemData Base SystemData Base System 需要的知識(shí)需要的知識(shí)理解“非主屬性”、“完全函數(shù)依賴”、“候選鍵”、“部分函數(shù)依賴”、“傳遞函數(shù)依賴”這五個(gè)名詞的含義。 (1)候選鍵:可以唯一決定關(guān)系模式R中某元組值且不含有多余屬性的屬性集。 (2)非主屬性:即非鍵屬性,指關(guān)系模式R中不包含在
45、任何建中的屬性。 (3)完全函數(shù)依賴:設(shè)R為任意給定關(guān)系,x、y其屬性集,若xy,且對(duì)x中的任何真子集,x都有xy。則稱y完全函數(shù)依賴于x。 Data Base SystemData Base SystemData Base System (4)部分函數(shù)依賴: 設(shè)R為任意給定關(guān)系,x、y其屬性集,若xy,且x中存在一個(gè)真子集x ,x滿足xy。則稱y部分函數(shù)依賴于x。 (5)傳遞函數(shù)依賴:設(shè)R為任意給定關(guān)系,x、y、z其屬性集,若xy, yx, yz,則有xz,則稱z傳遞函數(shù)依賴于x。Data Base SystemData Base SystemData Base System 1 1NFNF
46、:第一范式第一范式1NF:第一范式 即關(guān)系模式中的屬性的值域中每一個(gè)值都是不可再分解的值。 如果某個(gè)數(shù)據(jù)庫(kù)模式都是第一范式的,則稱該數(shù)據(jù)庫(kù)模式是屬于第一范式的數(shù)據(jù)庫(kù)模式。 Data Base SystemData Base SystemData Base System 第二范式第二范式 如果關(guān)系模式R為第一范式,并且R中每一個(gè)非主屬性完全函數(shù)依賴于R的某個(gè)候選鍵, 則稱為第二范式模式。 在分析是否為第2范式時(shí),應(yīng)首先確定候選鍵,然后把關(guān)系模式中的非主屬性與鍵的依賴關(guān)系進(jìn)行考察, 是否都為完全函數(shù)依賴,如是,則此關(guān)系模式為2NF。 如果如果數(shù)據(jù)庫(kù)模式中每個(gè)關(guān)系模式都是2NF的,則此數(shù)據(jù)庫(kù)模式屬于
47、2NF的數(shù)據(jù)庫(kù)模式。 Data Base SystemData Base SystemData Base System 第三范式第三范式 3NF如果關(guān)系模式R是第二范式,且每個(gè)非主屬性都不傳遞依賴于R的候選鍵,則稱R為第三范式模式。 傳遞依賴的含義: 在關(guān)系模式中,如果YX,XA,且XY(X不決定Y)和AX(A不屬于X),那么YA是傳遞依賴。 Notice:要求非主屬性都不傳遞依賴于候選鍵。 Data Base SystemData Base SystemData Base System 把泛關(guān)系模式R用一組關(guān)系模式的集合=R1,R2,.,Rk來表示(R1,R2,.,Rk都是R的子集,就是數(shù)據(jù)
48、庫(kù)模式)。 以代替R的過程稱為關(guān)系模式的分解。 實(shí)際上,關(guān)系模式的分解不僅僅是屬性集合的分解, 它是對(duì)關(guān)系模式上的函數(shù)依賴集、以及關(guān)系模式的當(dāng)前值分解的具體表現(xiàn)。 Data Base SystemData Base SystemData Base System 第一范式第一范式 消去非主屬性對(duì)鍵的部分函數(shù)依賴消去非主屬性對(duì)鍵的部分函數(shù)依賴BCNF第二范式第二范式第三范式第三范式 消去非主屬性對(duì)鍵的傳遞函數(shù)依賴消去非主屬性對(duì)鍵的傳遞函數(shù)依賴消去主屬性對(duì)鍵的傳遞函數(shù)依賴消去主屬性對(duì)鍵的傳遞函數(shù)依賴普通二維表普通二維表消去重復(fù)疊代消去重復(fù)疊代Data Base SystemData Base Sys
49、temData Base System 不合理的分解會(huì)出現(xiàn)以下情況:失去函數(shù)依賴、或出現(xiàn)插入、刪除異常等情況。 模式分解的衡量標(biāo)準(zhǔn)有三種: (1)分解具有無損聯(lián)接; (2)分解要保持函數(shù)依賴; (3)分解既要保持依賴,又要具有無損 聯(lián)接。 Data Base SystemData Base SystemData Base System 學(xué)院具體情況:一種課由一位老師任教,每種課在一個(gè)教室上,每學(xué)院具體情況:一種課由一位老師任教,每種課在一個(gè)教室上,每位老師有一獨(dú)立的辦公室。位老師有一獨(dú)立的辦公室。學(xué)生選課表數(shù)據(jù)資料初步統(tǒng)計(jì)如下:學(xué)生選課表數(shù)據(jù)資料初步統(tǒng)計(jì)如下:?jiǎn)栴}:這是一個(gè)關(guān)系表嗎?問題:這是
50、一個(gè)關(guān)系表嗎?不是不是學(xué)號(hào)學(xué)號(hào)姓名姓名專業(yè)專業(yè)課程號(hào)課程號(hào)課程名課程名教師教師系系辦公室辦公室電話電話教室教室成績(jī)成績(jī)01張張計(jì)算機(jī)計(jì)算機(jī)CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算機(jī)計(jì)算機(jī)13025894024940989張張計(jì)算機(jī)計(jì)算機(jī)CS02數(shù)學(xué)數(shù)學(xué)趙趙數(shù)學(xué)數(shù)學(xué)30235890323882376張張計(jì)算機(jī)計(jì)算機(jī)CS03英語英語陳陳外語外語5034589403050207102王王網(wǎng)絡(luò)網(wǎng)絡(luò)CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算機(jī)計(jì)算機(jī)13025894024940973王王網(wǎng)絡(luò)網(wǎng)絡(luò)CS02數(shù)學(xué)數(shù)學(xué)趙趙數(shù)學(xué)數(shù)學(xué)30235890323882388王王網(wǎng)絡(luò)網(wǎng)絡(luò)CS03英語英語陳陳外語外語50345894030502003李
51、李通訊通訊CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算機(jī)計(jì)算機(jī)130258940249409李李通訊通訊CS04C+周周計(jì)算機(jī)計(jì)算機(jī)303358903338832李李通訊通訊CS03英語英語陳陳外語外語503458940305020#Data Base SystemData Base SystemData Base System 第一范式第一范式 消去非主屬性對(duì)鍵的部分函數(shù)依賴消去非主屬性對(duì)鍵的部分函數(shù)依賴BCNF第二范式第二范式第三范式第三范式 消去非主屬性對(duì)鍵的傳遞函數(shù)依賴消去非主屬性對(duì)鍵的傳遞函數(shù)依賴消去主屬性對(duì)鍵的傳遞函數(shù)依賴消去主屬性對(duì)鍵的傳遞函數(shù)依賴普通二維表普通二維表消去重復(fù)疊代消去重復(fù)疊代Da
52、ta Base SystemData Base SystemData Base System 學(xué)號(hào)學(xué)號(hào)姓名姓名專業(yè)專業(yè)課程號(hào)課程號(hào)課程名課程名教師教師系系辦公室辦公室電話電話教室教室成績(jī)成績(jī)01張張計(jì)算機(jī)計(jì)算機(jī)CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算機(jī)計(jì)算機(jī)1302589402494098901張張計(jì)算機(jī)計(jì)算機(jī)CS02數(shù)學(xué)數(shù)學(xué)趙趙數(shù)學(xué)數(shù)學(xué)3023589032388237601張張計(jì)算機(jī)計(jì)算機(jī)CS03英語英語陳陳外語外語5034589403050207102王王網(wǎng)絡(luò)網(wǎng)絡(luò)CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算機(jī)計(jì)算機(jī)1302589402494097302王王網(wǎng)絡(luò)網(wǎng)絡(luò)CS02數(shù)學(xué)數(shù)學(xué)趙趙數(shù)學(xué)數(shù)學(xué)3023589032388
53、238802王王網(wǎng)絡(luò)網(wǎng)絡(luò)CS03英語英語陳陳外語外語50345894030502003李李通訊通訊CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算機(jī)計(jì)算機(jī)13025894024940903李李通訊通訊CS04C+周周計(jì)算機(jī)計(jì)算機(jī)30335890333883203李李通訊通訊CS03英語英語陳陳外語外語503458940305020#去掉重復(fù)疊代部分得到如下表:?jiǎn)栴}:?jiǎn)栴}:1、這是一個(gè)關(guān)系表嗎?、這是一個(gè)關(guān)系表嗎?3、還存在問題嗎?、還存在問題嗎?2、這是第幾范式?、這是第幾范式?是是是第一范式是第一范式Data Base SystemData Base SystemData Base System 問題很多:?jiǎn)栴}
54、很多:1、插入問題,新同學(xué)小趙不能被插入表中,因?yàn)?、插入問題,新同學(xué)小趙不能被插入表中,因?yàn)樗€沒有選課,課程號(hào)不能為空(實(shí)體完整性他還沒有選課,課程號(hào)不能為空(實(shí)體完整性的要求)。的要求)。2、刪除問題,小李不能被刪除,因?yàn)橹芾蠋煂⒈弧h除問題,小李不能被刪除,因?yàn)橹芾蠋煂⒈粍h除。刪除。3、更新問題,修改陳老師相關(guān)信息很困難。、更新問題,修改陳老師相關(guān)信息很困難。如何結(jié)決這些問題呢?如何結(jié)決這些問題呢?Data Base SystemData Base SystemData Base System 第一范式第一范式 消去非主屬性對(duì)鍵的部分函數(shù)依賴消去非主屬性對(duì)鍵的部分函數(shù)依賴BCNF第二范式
55、第二范式第三范式第三范式 消去非主屬性對(duì)鍵的傳遞函數(shù)依賴消去非主屬性對(duì)鍵的傳遞函數(shù)依賴消去主屬性對(duì)鍵的傳遞函數(shù)依賴消去主屬性對(duì)鍵的傳遞函數(shù)依賴普通二維表普通二維表消去重復(fù)疊代消去重復(fù)疊代方法:方法:對(duì)關(guān)系進(jìn)行分解!對(duì)關(guān)系進(jìn)行分解! Data Base SystemData Base SystemData Base System 學(xué)號(hào)學(xué)號(hào)課程號(hào)課程號(hào)成績(jī)成績(jī)姓名姓名專業(yè)專業(yè)系系辦公室辦公室教師教師課程名課程名教室教室電話電話Data Base SystemData Base SystemData Base System 學(xué)號(hào)學(xué)號(hào)姓名姓名專業(yè)專業(yè)01張張計(jì)算機(jī)計(jì)算機(jī)02王王網(wǎng)絡(luò)網(wǎng)絡(luò)03李李通訊通訊
56、課程號(hào)課程號(hào)課程名課程名教室教室教師教師系系辦公室辦公室電話電話CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)9409陳陳計(jì)算機(jī)計(jì)算S02數(shù)學(xué)數(shù)學(xué)8823趙趙數(shù)學(xué)數(shù)學(xué)30235890323CS03英語英語5020陳陳計(jì)算機(jī)計(jì)算S04C+3033周周計(jì)算機(jī)計(jì)算機(jī)88325890333學(xué)號(hào)學(xué)號(hào)課程號(hào)課程號(hào)成績(jī)成績(jī)01CS018901CS027601CS037102CS017302CS028802CS0303CS0103CS0403CS02問題:?jiǎn)栴}:1、這是一個(gè)關(guān)系表嗎?、這是一個(gè)關(guān)系表嗎?是第二范式是第二范式是是2、這是第幾范式?、這是第幾范式?3、還存在問題嗎?、還存
57、在問題嗎?存在,冗余、更新、刪存在,冗余、更新、刪除問題除問題如何結(jié)決這一問題呢?如何結(jié)決這一問題呢?Data Base SystemData Base SystemData Base System 學(xué)號(hào)學(xué)號(hào)課程號(hào)課程號(hào)成績(jī)成績(jī)姓名姓名專業(yè)專業(yè)系系辦公室辦公室教師教師課程名課程名教室教室電話電話學(xué)號(hào)學(xué)號(hào)課程號(hào)課程號(hào)Data Base SystemData Base SystemData Base System 學(xué)號(hào)學(xué)號(hào)課程號(hào)課程號(hào)成績(jī)成績(jī)姓名姓名專業(yè)專業(yè)系系辦公室辦公室教師教師課程名課程名教室教室電話電話學(xué)號(hào)學(xué)號(hào)課程號(hào)課程號(hào)Data Base SystemData Base SystemDat
58、a Base System 第一范式第一范式 消去非主屬性對(duì)鍵的部分函數(shù)依賴消去非主屬性對(duì)鍵的部分函數(shù)依賴BCNF第二范式第二范式第三范式第三范式 消去非主屬性對(duì)鍵的傳遞函數(shù)依賴消去非主屬性對(duì)鍵的傳遞函數(shù)依賴消去主屬性對(duì)鍵的傳遞函數(shù)依賴消去主屬性對(duì)鍵的傳遞函數(shù)依賴普通二維表普通二維表消去重復(fù)疊代消去重復(fù)疊代方法:方法:對(duì)關(guān)系進(jìn)行進(jìn)一步的分解!對(duì)關(guān)系進(jìn)行進(jìn)一步的分解! Data Base SystemData Base SystemData Base System 學(xué)號(hào)學(xué)號(hào)姓名姓名專業(yè)專業(yè)01張張計(jì)算機(jī)計(jì)算機(jī)02王王網(wǎng)絡(luò)網(wǎng)絡(luò)03李李通訊通訊教師教師系系辦公室辦公室電話電話陳陳計(jì)算機(jī)計(jì)算機(jī)1302
59、5894024周周計(jì)算機(jī)計(jì)算機(jī)88325890333趙趙數(shù)學(xué)數(shù)學(xué)30235890323課程號(hào)課程號(hào)課程名課程名教師教師教室教室CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳9409CS02數(shù)學(xué)數(shù)學(xué)趙趙8823CS03英語英語陳陳5020CS04C+周周3033學(xué)號(hào)學(xué)號(hào)課程號(hào)課程號(hào)成績(jī)成績(jī)01CS018901CS027601CS037102CS017302CS028802CS0303CS0103CS0403CS02問題:這一關(guān)系還有問題嗎?問題:這一關(guān)系還有問題嗎?這一關(guān)系與原關(guān)系等價(jià)嗎?這一關(guān)系與原關(guān)系等價(jià)嗎? 與原關(guān)系的信息仍然一致嗎?與原關(guān)系的信息仍然一致嗎?Data Base SystemData Base
60、SystemData Base System 學(xué)號(hào)學(xué)號(hào)姓名姓名專業(yè)專業(yè)01張張計(jì)算機(jī)計(jì)算機(jī)02王王網(wǎng)絡(luò)網(wǎng)絡(luò)03李李通訊通訊教師教師系系辦公室辦公室電話電話陳陳計(jì)算機(jī)計(jì)算周計(jì)算機(jī)計(jì)算機(jī)88325890333趙趙數(shù)學(xué)數(shù)學(xué)30235890323學(xué)號(hào)學(xué)號(hào)課程號(hào)課程號(hào)成績(jī)成績(jī)01CS018901CS027601CS037102CS017302CS028802CS0303CS0103CS0403CS02學(xué)號(hào)學(xué)號(hào)姓名姓名專業(yè)專業(yè)課程號(hào)課程號(hào)課程名課程名教師教師系系辦公室辦公室電話電話教室教室成績(jī)成績(jī)01張張計(jì)算機(jī)計(jì)算機(jī)CS01數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)陳陳計(jì)算機(jī)計(jì)算機(jī)13025894024940
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025招標(biāo)代理服務(wù)合同
- 廠房買賣合同書樣書
- 工程運(yùn)輸車出租合同
- 無錫市商品房預(yù)租合同
- 廠房及設(shè)備租賃合同
- 家庭裝修合同
- 家具合同補(bǔ)充合同范例
- 建筑辦公場(chǎng)地合同范例
- 代理產(chǎn)品協(xié)議合同范例
- 器材制作空白合同范例
- 湖南涉外經(jīng)濟(jì)學(xué)院論文答辯高校通用ppt模版
- 南極磷蝦油100問專業(yè)版
- 機(jī)械課程設(shè)計(jì)說明書
- 北師大2019新版高中英語選擇性必修二UNIT 6 THE MEDIA單詞表
- 冰蓄冷系統(tǒng)技術(shù)方案及經(jīng)濟(jì)性分析
- 歌曲簡(jiǎn)譜國(guó)家成龍
- 設(shè)備安裝工程監(jiān)理規(guī)劃
- 防止機(jī)組非計(jì)劃停運(yùn)措施(鍋爐專業(yè))
- 素材的獲取與處理方法
- 如何同步同時(shí)接收老公老婆微信的實(shí)用教程
- 場(chǎng)調(diào)查報(bào)告封面
評(píng)論
0/150
提交評(píng)論