數(shù)據(jù)庫(kù)第2篇設(shè)計(jì)chapter_第1頁(yè)
數(shù)據(jù)庫(kù)第2篇設(shè)計(jì)chapter_第2頁(yè)
數(shù)據(jù)庫(kù)第2篇設(shè)計(jì)chapter_第3頁(yè)
數(shù)據(jù)庫(kù)第2篇設(shè)計(jì)chapter_第4頁(yè)
數(shù)據(jù)庫(kù)第2篇設(shè)計(jì)chapter_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

第6章邏輯數(shù)據(jù)庫(kù)設(shè)計(jì)

任務(wù):把概念數(shù)據(jù)庫(kù)設(shè)計(jì)階段產(chǎn)生的概念數(shù)據(jù)庫(kù)模式變換為邏輯數(shù)據(jù)庫(kù)模式。目標(biāo):滿足用戶的完整性和安全性要求,動(dòng)態(tài)關(guān)系至少具有第三范式形式,靜態(tài)關(guān)系至少具有第一范式形式,能夠在邏輯上高效率地支持各種數(shù)據(jù)庫(kù)事務(wù)的運(yùn)行,存儲(chǔ)空間利用率高。邏輯數(shù)據(jù)庫(kù)設(shè)計(jì)邏輯數(shù)據(jù)庫(kù)設(shè)計(jì)步驟:形成初始關(guān)系數(shù)據(jù)庫(kù)模式關(guān)系模式規(guī)范化關(guān)系模式優(yōu)化定義關(guān)系上的完整性和安全性約束子模式定義性能估計(jì)6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式ER圖關(guān)系模型普通實(shí)體型的變換對(duì)于數(shù)據(jù)庫(kù)概念模式中的每個(gè)普通實(shí)體型E,建立一個(gè)關(guān)系S。S包含E的所有簡(jiǎn)單屬性和E的復(fù)合屬性的簡(jiǎn)單子屬性。E的鍵是S的主鍵。弱實(shí)體的變換多值屬性的變換6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式實(shí)例1)需求分析:①某公司有多個(gè)部門;(部門作實(shí)體)②每個(gè)部門承擔(dān)多個(gè)工程項(xiàng)目;每個(gè)工程項(xiàng)目只屬于一個(gè)部門;③每個(gè)部門有多名職工,而每個(gè)職工只屬于一個(gè)部門④一個(gè)職工參加多個(gè)工程項(xiàng)目;每個(gè)工程項(xiàng)目可有多個(gè)職工參加6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式⑤每個(gè)部門有一個(gè)經(jīng)理,他是職工中的一員⑥一個(gè)職工可能有多名親屬,也可能沒(méi)有親屬⑦一名職工有多種技能,多名職工可以有同一種技能2)概念設(shè)計(jì):局部ER圖全局ER圖(1)局部ER圖:共有6個(gè),需求分析中的②—⑦條各對(duì)應(yīng)一個(gè)圖(2)全局ER圖:6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式部門領(lǐng)導(dǎo)聘用職工有親屬承擔(dān)月薪工程參加具有從事年限技能工時(shí)m11m11mm1nmmm6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式3)邏輯設(shè)計(jì):⑴部門(部門號(hào),名稱,地址,電話,(領(lǐng)導(dǎo))職工號(hào))⑵工程(工程號(hào),工程名,經(jīng)費(fèi)預(yù)算,部門號(hào))⑶職工(職工號(hào),姓名,生日,性別,部門號(hào),月薪)⑷親屬(職工號(hào),親屬的姓名,關(guān)系)⑸技能(技能號(hào),技能名)⑹施工(職工號(hào),工程號(hào),工時(shí))⑺人才(職工號(hào),技能號(hào),從事年限)6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式4)實(shí)施---(SQL語(yǔ)句)eg:createtable部門(部門號(hào)char(3)notnullunique,名稱char(10)notnull,地址char(30),電話char(13),職工號(hào)smallint,(主鍵)primarykey(部門號(hào))

(外鍵)foreignkey(職工號(hào))references職工);6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式弱實(shí)體型的變換設(shè)W是概念數(shù)據(jù)庫(kù)模式中以實(shí)體型E為識(shí)別實(shí)體型的弱實(shí)體。建立一個(gè)與W對(duì)應(yīng)的關(guān)系R。W的所有簡(jiǎn)單屬性和復(fù)合屬性的簡(jiǎn)單子屬性映射為R的屬性,E的鍵屬性也是R的屬性。R的鍵有E的鍵和W的部分鍵組合而成。E對(duì)應(yīng)的關(guān)系的鍵是R的外部鍵。6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式多值屬性的變換設(shè)實(shí)體型E具有多值屬性,S是E對(duì)應(yīng)的關(guān)系。我們?yōu)镋的每個(gè)多值屬性A建立一個(gè)關(guān)系T,用T表示A。如果A是簡(jiǎn)單屬性,T的屬性為A與S的主鍵K,A和K形成T的主鍵。如果A是復(fù)合屬性,T包含A的簡(jiǎn)單子屬性和S的主鍵K。A的簡(jiǎn)單子屬性和K形成T的鍵。S關(guān)系中忽略屬性A。6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式實(shí)體間聯(lián)系的變換(1)1:1聯(lián)系的變換設(shè)R是實(shí)體型E1和E2之間的1:1聯(lián)系,S和T是E1和E2對(duì)應(yīng)的關(guān)系T(或S)的主鍵作為外部鍵添入S(或T)R的簡(jiǎn)單屬性和復(fù)合屬性的簡(jiǎn)單子屬性作為簡(jiǎn)單屬性添入S(或T)(2)1:N聯(lián)系的變換設(shè)R是實(shí)體型E1和E2之間的1:N聯(lián)系,S和T是E1和E2對(duì)應(yīng)的關(guān)系S的主鍵作為外部鍵添入TR的簡(jiǎn)單屬性和復(fù)合屬性的簡(jiǎn)單子屬性作為簡(jiǎn)單屬性添入T6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式(3)M:N聯(lián)系的變換設(shè)R是實(shí)體型E1和E2之間的M:N聯(lián)系,S和T是E1和E2對(duì)應(yīng)的關(guān)系建立一個(gè)新關(guān)系W來(lái)表示RS和T的主鍵添入W,既作為外部鍵,也組合起來(lái)作為W的主鍵.W要包含R的簡(jiǎn)單屬性和復(fù)合屬性的簡(jiǎn)單子屬性。函數(shù)依賴(一對(duì)一映射)

范式(1NF,2NF,3NF,BCNF……)

模式分解

Amstrong公理系統(tǒng)6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式(4)n元聯(lián)系的變換設(shè)R是關(guān)聯(lián)實(shí)體型E1,E2,…,En的n元聯(lián)系。類似于M:N聯(lián)系的表示方法,可以建立一個(gè)關(guān)系T,用T來(lái)表示R。所有Ei的主鍵都是T的外部鍵,也將它們組合起來(lái)作為T的主鍵。T還包括R的簡(jiǎn)單屬性和復(fù)合屬性的簡(jiǎn)單子屬性。6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式超類/子類聯(lián)系的變換設(shè)實(shí)體型C是實(shí)體型E1,E2,…,En的超類,k,A1,A2,…,An,k是C的屬性,k是C的鍵。可以使用4種方法把這個(gè)超類/子類聯(lián)系變換為關(guān)系模式。方法1建立一個(gè)表示C的關(guān)系L。L的屬性包括k,A1,A2,…,A,k是鍵。對(duì)于1<=i<=m,建立表示Ei的關(guān)系Li。Li的屬性包括k和Ei的所有屬性,而且k是Li的鍵。6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式方法2對(duì)于1<=i<=m,建立與Ei對(duì)應(yīng)的關(guān)系Li。Li的屬性包括Ei和C的所有屬性。K是Li的鍵。這個(gè)方法適用于具有正交約束的演繹。如果不滿足全域約束,這種方法可能丟失不屬于任何子類的實(shí)體。如果不滿足正交約束,屬于多個(gè)實(shí)體型的實(shí)體將重復(fù)地存儲(chǔ)在不同的Li中。方法3建立一個(gè)關(guān)系L。L的屬性包括所有C,E1,E2,…,Em的屬性。此外,L還需要一個(gè)特殊屬性t。T用來(lái)說(shuō)明每個(gè)元組所屬的子類。6.1形成初始關(guān)系數(shù)據(jù)庫(kù)模式方法4建立一個(gè)關(guān)系L。L的屬性包括屬性包括所有C,E1,E2,…,Em的屬性。類似于方法3,L需要包括m個(gè)特殊屬性t1,t2,…,tm。ti用來(lái)說(shuō)明一個(gè)元組是否屬于子類Ei。這種方法適用于子類相交的情況。范疇和共享子類的變換確定函數(shù)依賴集6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論6.2.1問(wèn)題的提出

(1)插入異常

(2)刪除異常

(3)數(shù)據(jù)冗余和更新問(wèn)題6.2.2函數(shù)依賴定義6.2.1:設(shè)R是一個(gè)關(guān)系模式,U是R的屬性集合,X和Y是U的子集。對(duì)于R的任意實(shí)例r,r中任意兩個(gè)元組t1和t2,如果t1[X]=t2[X],則t1[Y]=t2[Y],則稱X函數(shù)的確定Y,或Y函數(shù)地依賴于X,記做XY。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論如果XY,而且Y不是X的子集,則稱XY是非平凡函數(shù)依賴。如果XY我們稱X為這個(gè)函數(shù)依賴的決定屬性集。定義6.2.2:設(shè)R是一個(gè)具有屬性集合U的關(guān)系模式,如果XY,并且對(duì)于X的任何一個(gè)真子集Z,ZY都不成立,則稱Y完全函數(shù)依賴于X。若XY,但Y不完全函數(shù)依賴于X,則稱Y部分函數(shù)依賴于X。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論定義6.2.3:設(shè)R是一個(gè)具有屬性集合U的關(guān)系模式,XU,YU,ZU,YX不成立,

ZX,ZY和YX不空。如果XY,YZ

則稱Z傳遞地函數(shù)依賴于X。定義6.2.4:R是一個(gè)具有屬性集合U的關(guān)系模式,KU。如果K滿足下列兩個(gè)條件,則稱K是R的一個(gè)候選鍵:

1)KU2)不存在K的真子集Z使得ZU。候選鍵可以唯一地識(shí)別關(guān)系的元組。

6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論一個(gè)關(guān)系模式中可能具有多個(gè)候選鍵??梢灾贫ㄒ粋€(gè)候選鍵作為識(shí)別關(guān)系元組的主鍵。包含在任何一個(gè)候選鍵中的屬性稱為鍵屬性。不包含在任何候選鍵中的屬性稱為非鍵屬性。在最簡(jiǎn)單的情況下,候選鍵只包含一個(gè)屬性。在最復(fù)雜情況下,候選鍵包含關(guān)系模式的所有屬性,稱為全鍵。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論定義6.2.5:設(shè)X是關(guān)系模式R的屬性子集合。如果X是另一個(gè)關(guān)系模式的候選鍵,則稱X是R的外部鍵。6.2.3數(shù)據(jù)依賴的公理系統(tǒng)定義6.2.6:設(shè)R是一個(gè)具有屬性集合U的關(guān)系模式,F(xiàn)是R的一個(gè)函數(shù)依賴集合。Armstrong公理系統(tǒng)設(shè)R是一個(gè)具有屬性集合U的關(guān)系模式,F(xiàn)是R的一個(gè)函數(shù)依賴集合。

Armstrong公理系統(tǒng)包含如下三條推理規(guī)則:6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論自反律:若YXU,則F蘊(yùn)含XY增廣律:若F蘊(yùn)含XY,ZU,則F蘊(yùn)含

XZYZ傳遞律:若F蘊(yùn)含XY和YZ,則F蘊(yùn)含XZ定理6.2.1:Armstrong推理規(guī)則是正確的。根據(jù)上述三條規(guī)則可以得到下面三條有用的推理規(guī)則:6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論合并規(guī)則:如果XY,XZ,則XYZ偽傳遞規(guī)則:如果XY,YWZ,則XWZ分解規(guī)則:如果XY,ZY,則XZ定理6.2.2:合并規(guī)則,偽傳遞規(guī)則和分解規(guī)則是正確的。引理6.2.1:XA1A2…Ak成立的充分必要條件是,對(duì)于1<=i<=k,XAi成立。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論定義6.2.7:設(shè)R是一個(gè)具有屬性集合U的關(guān)系模式,F(xiàn)是給定的函數(shù)依賴集合。有F邏輯蘊(yùn)含的所有函數(shù)依賴稱為F的閉包,記為:。定義6.2.8:設(shè)F為屬性集U上的一組函數(shù)依賴,XU,={A|XA能由F根據(jù)Armstrong公理導(dǎo)出}稱為屬性集X關(guān)于函數(shù)依賴集F的閉包。引理6.2.2:設(shè)F為屬性集U上的函數(shù)依賴,X,YU,XY能由F根據(jù)Armstrong公理導(dǎo)出的充分必要條件是Y。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論算法6.2.1:計(jì)算輸入:X,F(xiàn)。輸出:。方法:(1)X(1):=空集合;X(0):=X;(2)B:={A|VW∈F,V∈X(0),A∈W}(3)X(1):=B∪X(0)⒋IFX(1)=X(0)THENX(0):=X(1);

GOTO2;ELSE:=X(1)ENDIF。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論定理6.2.3:算法6.2.1正確地計(jì)算出了X關(guān)于F的閉包。定理6.2.4:Armstrong公理系統(tǒng)是有效且完備的。定義6.2.9:設(shè)G和F是兩個(gè)函數(shù)依賴集。如果

=則稱F與G等價(jià)。引理6.2.3:設(shè)G和F是兩個(gè)函數(shù)依賴集。F與G等價(jià)的充分必要條件是F且G。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論定義6.2.10:函數(shù)依賴集F稱為極小(或最小)函數(shù)依賴集,如果F滿足下列條件:F中任一函數(shù)依賴的右部?jī)H含有一個(gè)屬性;F中不存在這樣的函數(shù)依賴XA,使得F與F-{XA}等價(jià);F中不存在這樣的函數(shù)依賴XA,X包含真子集Z使得(F-{XA})∪{ZA}與F等價(jià)。定理6.2.5:每一個(gè)函數(shù)依賴集F都等價(jià)于一個(gè)極小函數(shù)依賴集。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論6.2.4關(guān)系模式的規(guī)范形式把一個(gè)給定關(guān)系模式轉(zhuǎn)化為某種凡是的過(guò)程稱為關(guān)系模式的規(guī)范化過(guò)程,簡(jiǎn)稱規(guī)范化。1.第一范式(1NF)定義6.2.11:設(shè)R是一個(gè)關(guān)系模式。如果R的每個(gè)屬性的值域都是不可分的簡(jiǎn)單數(shù)據(jù)項(xiàng)的集合,則稱這個(gè)關(guān)系模式為第一范式關(guān)系模式,及做1NF。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論2.第二范式(2NF)定義6.2.12:若關(guān)系模式R是1NF,而且每個(gè)非主屬性都完全函數(shù)依賴于R的鍵,則R稱為第二范式關(guān)系模式,記做2NF。3.第三范式(3NF)定義6.2.13:如果關(guān)系模式R是2NF,而且它的任何一個(gè)非鍵屬性都不傳遞地依賴于任何候選鍵,則R稱為第三范式關(guān)系模式,記做3NF。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論4.BCNF范式定義6.2.14:設(shè)關(guān)系模式R是1NF。如果對(duì)于R的每個(gè)函數(shù)依賴XY,X必為候選鍵,則R是BCNF范式。BCNF的性質(zhì):所有非鍵屬性都完全函數(shù)依賴于每個(gè)候選建所有鍵屬性都完全函數(shù)依賴于每個(gè)不包含它的候選建沒(méi)有任何屬性完全函數(shù)依賴于非鍵的任何一組屬性6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論注:是BCNF一定是3NF,但是3NF不一定是BCNF。6.2.5多值依賴與第四范式定義6.2.15:設(shè)R是一個(gè)具有屬性集合U的關(guān)系模式,X,Y和Z是U的子集,并且Z=U-X-Y,多值依賴XY成立當(dāng)且僅當(dāng)對(duì)R的任一關(guān)系r,r在(X,Z)上的每個(gè)值對(duì)應(yīng)一組Y的值,這組值僅僅決定于X值而與Z值無(wú)關(guān)。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論定理6.2.6:多值依賴公理是有效的和完備的。定理6.2.7:多值依賴的推理規(guī)則是正確的。定義6.2.16:設(shè)R是一個(gè)關(guān)系模式,D是R上的多值依賴集。如果對(duì)于R的每個(gè)多值依賴

XY(Y-X=非空集,XY未包含R的全部屬性),X都含有R的候選鍵,則R是第四范式關(guān)系模式,簡(jiǎn)記為4NF。當(dāng)D包含函數(shù)依賴是,如果關(guān)系模式R是4NF,則R必為BCNF,反之不然。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論6.2.6連接依賴與第五范式定義6.2.17:設(shè)R,R1,R2,…,Rn是關(guān)系模式,U,U1,U2,…,Un分別是R,R1,R2,…,Rn的屬性集合,而且U=U∪U1∪…∪Un。如果R的任意關(guān)系實(shí)例r滿足

r=……

則稱R滿足連接依賴,記做(R1,R2,…,Rn)。上述定義中,如果存在一個(gè)i使得Ri=R,則對(duì)應(yīng)的連接依賴稱為平凡連接依賴。6.2關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)理論定義6.2.18:設(shè)R,R1,R2,…,Rn是關(guān)系模式,Ri的屬性集合包含在R的屬性集合中,D是R上的函數(shù)依賴、多值依賴和連接依賴的集合。R稱為滿足D的第五范式,如果對(duì)于中的每個(gè)連接依賴(R1,R2,…,Rn)下面兩條至少一條成立:(1)(R1,R2,…,Rn)是平凡連接依賴;(2)每個(gè)Ri都包含R的一個(gè)候選鍵。第五范式簡(jiǎn)稱PJNF。6.3關(guān)系模式規(guī)范化方法6.3.1無(wú)損連結(jié)性與函數(shù)依賴保持性定義6.3.1:設(shè)R是具有屬性集合U的關(guān)系模式。R的一個(gè)分解定義為

ρ={R1,R2,…,Rn}

其中,Ri的屬性集合是Ui,而且U=。定義6.3.2:設(shè)R是一個(gè)具有屬性集合U和函數(shù)依賴集合F的關(guān)系模式,ρ={R1,R2,…,Rn}是R的一個(gè)分解。F在Ri的屬性集合Ui上的投影室Fi={XY|XY∈,X,Y∈Ui}。6.3關(guān)系模式規(guī)范化方法定義6.3.3:設(shè)ρ={R1,R2,…,Rn}是關(guān)系模式R的一個(gè)分解,r是R的一個(gè)關(guān)系。定義

(r)=……

即(r)是r在ρ中各個(gè)關(guān)系模式上的投影的連接。引理6.3.1:設(shè)R是一個(gè)關(guān)系模式,ρ={R1,R2,…,Rn}是R的一個(gè)分解,r是R的一個(gè)關(guān)系實(shí)例,則

(1)r(r)6.3關(guān)系模式規(guī)范化方法(2)若s=(r),則=。

(3)((r))=(r)。定義6.3.4:設(shè)ρ={R1,R2,…,Rn}是R的一個(gè)分解。若對(duì)R的任何一個(gè)關(guān)系r均有r=成立,則稱分解ρ具有無(wú)損連結(jié)性。簡(jiǎn)稱ρ為無(wú)損連接分解。6.3關(guān)系模式規(guī)范化方法算法6.3.1:判別一個(gè)分解的無(wú)損連接性。輸入:R(A1,A2,……,An),

R的函數(shù)依賴集FR的分解={R1,R2,……,Rk}。輸出:分解是否具有無(wú)損連接性。方法:(1)建立矩陣S,列j對(duì)應(yīng)屬性Aj,行i對(duì)應(yīng)Ri;6.3關(guān)系模式規(guī)范化方法(2)FORi=1TOkDOFORj=1TOnDOS[i,j]:=bij;

ENDFOR;

ENDFOR;(3)FORi=1TOkDOFORj=1TOnDOIFRi包含屬性AjTHENS[i,j]:=aj;

ENDFOR;

ENDFOR;6.3關(guān)系模式規(guī)范化方法(4)DOUNTILS無(wú)改變

FOR每個(gè)XYFDOFORS中所有在X對(duì)應(yīng)的列上具有相同符號(hào)的行i1、……、imDO按照下列規(guī)則修改Y所對(duì)應(yīng)列的符號(hào):①FOR每個(gè)具有“a”類符號(hào)的Y對(duì)應(yīng)列DO

把該列i1、……、im行的符號(hào)改為相同的“a”

類符號(hào);

ENDFOR;6.3關(guān)系模式規(guī)范化方法②FOR每個(gè)不具有“a”類符號(hào)的Y對(duì)應(yīng)列DO

在該列上選擇一個(gè)“b”類符號(hào);

ENDFOR;

ENDFOR;

ENDFOR;

ENDUNTIL;(5)如果S中存在一行全為“a”類符號(hào),則ρ具有無(wú)損連接性;否則ρ不具有無(wú)損連接性。6.3關(guān)系模式規(guī)范化方法例6.3.2:已知:關(guān)系模式R的屬性集合U={A,B,C,D,E},函數(shù)依賴集合F={AC,BC,CD,DEC,CEA},分解={R1(A,D),R2(A,B),R3(B,E),R4(C,D,E),R5(A,E)}判斷是否具有無(wú)損連接性。解:使用以上算法檢驗(yàn)是否具有無(wú)損連接性。①根據(jù)算法的⑴至⑶步構(gòu)造矩陣S6.3關(guān)系模式規(guī)范化方法ABCDER1a1b12b13a4b15R2a1A2b23b24b25R3b31A2b33b34a5R4b41b42a3a4a5R5a1b52b53b54a5②根據(jù)算法第⑷步進(jìn)行矩陣變換。AC使b13,b23,b53相等,用b13代替。然后BC使b33=b13。結(jié)果矩陣為:6.3關(guān)系模式規(guī)范化方法ABCDER1a1b12b13a4b15R2a1a2b13b24b25R3b31a2b13b34a5R4b41b42a3a4a5R5a1b52b13b54a5③CD使a4=b24=b34=b54,都變?yōu)閍4。

DEC使b13=a3,用a3代替。

CEA使b31=b41=a1,用a1代替。結(jié)果如下:6.3關(guān)系模式規(guī)范化方法ABCDER1a1b12a3a4b15R2a1a2a3a4b25R3a1a2a3a4a5R4a1b42a3a4a5R5a1b52a3a4a5④由于第三行已經(jīng)成為a1、a2、a3、a4、a5,所以具有無(wú)損連接性。6.3關(guān)系模式規(guī)范化方法定理6.3.1:關(guān)系R的分解ρ具有無(wú)損連接性的充分必要條件是算法6.3.1終止時(shí),矩陣S中有一行為(a1、a2、……、an)。定理:設(shè)={R1,R2}是關(guān)系模式R的一個(gè)分解U1、U2和U分別是R1、R2和R的屬性集合,F(xiàn)是R的函數(shù)依賴集合。ρ具有無(wú)損連接性的充分必要條件是:

U1U2U1-U2或

U1U2U2-U1。6.3關(guān)系模式規(guī)范化方法定義6.3.5:設(shè)R是具有屬性集合U和函數(shù)依賴集合F的關(guān)系模式,ρ={R1,R2,…,Rn}是R的一個(gè)分解,Ui是Ri的屬性集合,F(xiàn)i是F在Ui上的投影。如果則稱ρ具有函數(shù)依賴保持性。

6.3關(guān)系模式規(guī)范化方法6.3.2關(guān)系模式分解算法1.3NF分解算法算法6.3.3是一個(gè)只能保證函數(shù)依賴保持性的分解算法。算法6.3.4是一個(gè)既能保證函數(shù)依賴保持性也能保證無(wú)損連接性的分解算法。定理6.3.3:設(shè)關(guān)系模式R的分解ρ={R1,R2,…,Rn}是算法6.3.3的輸出結(jié)果,G是F的最小函數(shù)依賴集,則ρ具有函數(shù)依賴保持性,而且ρ中每個(gè)關(guān)系模式都是3NF。6.3關(guān)系模式規(guī)范化方法算法6.3.43NF分解算法2。輸入:關(guān)系模式R,R的屬性集合U和最小函數(shù)依賴集F。輸出:具有函數(shù)依賴保持性和無(wú)損連接性的分解τ,τ中所有關(guān)系模式都是3NF。方法:(1)調(diào)用算法6.3.3產(chǎn)生R的分解

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論