關(guān)系模式規(guī)范化實(shí)例析解_第1頁(yè)
關(guān)系模式規(guī)范化實(shí)例析解_第2頁(yè)
關(guān)系模式規(guī)范化實(shí)例析解_第3頁(yè)
關(guān)系模式規(guī)范化實(shí)例析解_第4頁(yè)
關(guān)系模式規(guī)范化實(shí)例析解_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)系模式規(guī)范化實(shí)例析解關(guān)系模式規(guī)范化實(shí)例析解關(guān)系模式規(guī)范化實(shí)例析解xxx公司關(guān)系模式規(guī)范化實(shí)例析解文件編號(hào):文件日期:修訂次數(shù):第1.0次更改批準(zhǔn)審核制定方案設(shè)計(jì),管理制度關(guān)系模式規(guī)范化實(shí)例析解摘要:關(guān)系模式是關(guān)系數(shù)據(jù)庫(kù)的重要組成部份,其規(guī)范化理論在整個(gè)模式設(shè)計(jì)中占有主導(dǎo)地位。下面我們?cè)噲D采用接近課堂教學(xué)的方式給出一個(gè)完整實(shí)例,希望對(duì)初學(xué)者有所幫助。關(guān)鍵詞:關(guān)系模式;規(guī)范化;函數(shù)依賴;范式眾所周知,關(guān)系模式是關(guān)系數(shù)據(jù)庫(kù)的重要組成部份,其好壞直接影響關(guān)系數(shù)據(jù)庫(kù)的性能。而關(guān)系模式的設(shè)計(jì)必須滿足一定的規(guī)范化要求,從而滿足不同的范式級(jí)別。[1],57)在指導(dǎo)關(guān)系模式的設(shè)計(jì)中,規(guī)范化理論占有著主導(dǎo)地位,其基本思想是:消除數(shù)據(jù)依賴中不合理的部份,使各關(guān)系模式達(dá)到某種程度的分離,使一個(gè)關(guān)系僅描述一個(gè)實(shí)體或者實(shí)體間的一種聯(lián)系。[2]關(guān)系模式及其規(guī)范化的理論是我們?cè)O(shè)計(jì)和優(yōu)化關(guān)系模式的指南。作為一種優(yōu)秀而成熟的理論,學(xué)習(xí)和實(shí)踐會(huì)有一定的難度,但在因特網(wǎng)和相關(guān)書(shū)籍中難得有比較全面的實(shí)例,給我們學(xué)習(xí)和實(shí)踐造成不便。下面,我們?cè)噲D采用接近課堂教學(xué)的方式給出一個(gè)完整的析解實(shí)例,以期對(duì)初學(xué)者有所幫助。一、實(shí)例假設(shè)某商業(yè)集團(tuán)數(shù)據(jù)庫(kù)中有一關(guān)系模式R(商店編號(hào),商品編號(hào),數(shù)量,部門(mén)編號(hào),負(fù)責(zé)人),如果規(guī)定:(1)每個(gè)商店的每種商品只在一個(gè)部門(mén)銷售;(2)每個(gè)商店的每個(gè)部門(mén)只有一個(gè)負(fù)責(zé)人;(3)每個(gè)商店的每種商品只有一個(gè)庫(kù)存數(shù)量。試回答下列問(wèn)題:(1)根據(jù)上述規(guī)定,寫(xiě)出關(guān)系模式R的基本函數(shù)依賴;(2)找出關(guān)系模式R的候選關(guān)鍵字;(3)試問(wèn)關(guān)系模式R最高已經(jīng)達(dá)到第幾范式為什么(4)如果R已達(dá)3NF,是否已達(dá)BCNF若不是BCNF,將其分解為BCNF模式集。二、預(yù)處理為了方便,我們用代號(hào)代表每個(gè)屬性:A—商店編號(hào)B—商品編號(hào)C—部門(mén)編號(hào)D—數(shù)量E—負(fù)責(zé)人這樣,有關(guān)系模式:R(U,F(xiàn))U={A,B,C,D,E}三、根據(jù)上述規(guī)定,寫(xiě)出關(guān)系模式R的基本函數(shù)依賴為了消除關(guān)系模式在操作上的異常問(wèn)題,優(yōu)化數(shù)據(jù)模式,我們需要對(duì)關(guān)系模式進(jìn)行規(guī)范化處理。而首先需要做的就是函數(shù)依賴,以便能確切地反映實(shí)體內(nèi)部各屬性間的聯(lián)系。[2](P.經(jīng)過(guò)對(duì)數(shù)據(jù)語(yǔ)義的分析我們得出下面的依賴關(guān)系:1.語(yǔ)義:每個(gè)商店的每種商品只在一個(gè)部門(mén)銷售,即已知商店和商品名稱可以決定銷售部門(mén)例:東店——海爾洗衣機(jī)———定在家電部銷售所以得出函數(shù)依賴:AB→C2.語(yǔ)義:每個(gè)商店的每個(gè)部門(mén)只有一個(gè)負(fù)責(zé)人,即已知商店和部門(mén)名稱可以決定負(fù)責(zé)人例:東店——家電部——部門(mén)經(jīng)理一定是張三所以得出函數(shù)依賴是:AC→E3.每個(gè)商店的每種商品只有一個(gè)庫(kù)存數(shù)量,即已知商店和商品名稱可以決定庫(kù)存數(shù)量例:東店——海爾洗衣機(jī)——庫(kù)存10臺(tái)所以得出函數(shù)依賴是:AB→D這樣:在關(guān)系模式R(U,F(xiàn))中,基本函數(shù)依賴集是:F={AB→C,AC→E,AB→D}。四、找出關(guān)系模式R的候選關(guān)鍵字根據(jù)函數(shù)依賴和關(guān)鍵字的基本定義,我們可以說(shuō):只有在最小函數(shù)依賴集中才能科學(xué)、正確地尋找候選關(guān)鍵字。那么何為最小函數(shù)依賴集又怎么求出F的最小函數(shù)依賴集呢根據(jù)函數(shù)依賴的相關(guān)定理我們得知:給定函數(shù)依賴集F,如果F中每一函數(shù)依賴X->Y∈F滿足:(1)X->Y的右邊Y為單個(gè)屬性(F為右規(guī)約的);(2)F為左規(guī)約(即F中任一函數(shù)依賴X→Y∈F的左邊都不含多余屬性);(3)F為非冗余的(即如果存在F的真子集F’,使得F’≡F,則稱F是冗余的,否則稱F是非冗余的);則稱F為最小函數(shù)依賴集,或稱F是正則的。每一個(gè)函數(shù)依賴都等價(jià)于一個(gè)最小函數(shù)依賴集。[3]按照上面的三個(gè)條件進(jìn)行最小化處理,我們可得到一個(gè)求最小函數(shù)依賴集方法:第一步,為滿足條件1,根據(jù)分解性把右側(cè)是屬性組的函數(shù)依賴分解為單屬性的多個(gè)函數(shù);第二步,為滿足條件2,逐一考察最新F中的函數(shù)依賴,消除左側(cè)冗余屬性;為滿足條件3,逐一考察最新F中函數(shù)依賴X->Y,檢查X->Y是否被F-{X->Y}所蘊(yùn)涵,如果是,則X->Y是冗余的,可以刪除。[4]所以,F(xiàn)的所謂最小函數(shù)依賴集就是去掉了多余依賴的F。按上面提供的算法依據(jù)具體計(jì)算如下:1.根據(jù)分解性先分解所有依賴的右邊為單屬性:可以看出:F={AB→C,AC→E,AB→D}中所有依賴的右邊已為單屬性。2.對(duì)所有依賴的左邊為多屬性的情況,消除左側(cè)冗余屬性:下面計(jì)算判斷AB→C中有無(wú)無(wú)關(guān)屬性:(1)設(shè)A→C,在F={AB→C,AC→E,AB→D}中計(jì)算A的閉包A+:首先,初始化A+={A};經(jīng)觀察,在F={AB→C,AC→E,AB→D}中,屬性A不能“帶進(jìn)”任何屬性。即A的閉包A+就是{A},也就是A+={A},所以AB→C中B不是無(wú)關(guān)屬性。(2)設(shè)B→C,在F={AB→C,AC→E,AB→D}中計(jì)算B的閉包B+:首先,初始化B+={B};經(jīng)觀察,在F={AB→C,AC→E,AB→D}中,屬性B不能“帶進(jìn)”任何屬性。即B的閉包B+就是{B},也就是B+={B},所以AB→C中A不是無(wú)關(guān)屬性。(3)同理,AC→E和AB→D中左邊亦無(wú)無(wú)關(guān)屬性。3、下面計(jì)算在F={AB→C,AC→E,AB→D}中有無(wú)冗余依賴:我們?nèi)サ鬉B→C,依賴集變?yōu)镕={AC→E,AB→D}。首先,初始化{AB}+={A,B};在F={AC→E,AB→D}中,有AB→D,即AB可以“帶進(jìn)”D屬性,這時(shí){AB}+={A,B,D};經(jīng)觀察已不能再“帶進(jìn)”其它屬性。即{AB}的閉包{AB}+就是{A,B,D},也就是{AB}+={A,B,D}。因?yàn)閧A,B,D}中不包含C,所以我們說(shuō)AB→C不是冗余依賴。同理計(jì)算,AC→E和AB→D亦不是冗余依賴。到此,才能肯定F={AB→C,AC→E,AB→D}已是最小函數(shù)依賴集。4、尋找候選關(guān)鍵字也需要一定的計(jì)算,下面計(jì)算R的候選關(guān)鍵字:在F={AB→C,AC→E,AB→D}中,我們對(duì)所有屬性進(jìn)行歸類如下:L類屬性,即僅在依賴左邊出現(xiàn)的屬性:A,BR類屬性,即僅在依賴左邊出現(xiàn)的屬性:E,DLR類屬性,即既在依賴左邊又在依賴右邊出現(xiàn)的屬性:CN類屬性,即既不在依賴左邊又不在依賴右邊出現(xiàn)的屬性:無(wú)我們知道,L類屬性和N類屬性一定在候選關(guān)鍵字中,R類屬性一定不在候選關(guān)鍵字中。所以,A,B一定在候選關(guān)鍵字中,E,D一定不在候選關(guān)鍵字中。這是定性的結(jié)果。具體的候選關(guān)鍵字是什么呢首先,計(jì)算L類屬性AB的閉包:{A,B}+={A,B,D,C,E},因?yàn)锳B的閉包{A,B,D,C,E}已經(jīng)包含了所有R的屬性,所以,{A,B}是唯一候選關(guān)鍵字。對(duì)于LR類屬性參與候選關(guān)鍵字的相關(guān)計(jì)算稍嫌復(fù)雜,但這里已經(jīng)找出了關(guān)系模式R{A,B,C,D,E}的唯一候選關(guān)鍵字。[3]五、關(guān)系模式R最高已經(jīng)達(dá)到第幾范式為什么很明顯,關(guān)系模式R(A,B,C,D,E)中的所有屬性值都是不可再分的原子項(xiàng),所以該關(guān)系模式已滿足第一范式。[1]那么關(guān)系模式R(A,B,C,D,E)是否滿足2NF根據(jù)范式的相關(guān)定義我們得知:如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性都完全函數(shù)依賴于任一候選關(guān)鍵字,則該關(guān)系是第二范式。[1]從上面的分析我們知道R(A,B,C,D,E)的唯一候選關(guān)鍵字是{A,B};非主屬性是:C、D、E;函數(shù)依賴集是{AB→C,AC→E,AB→D}。所以:AB→C例:東店——海爾洗衣機(jī)———定在家電部銷售AB→D例:東店——海爾洗衣機(jī)(——只在家電部銷售)——庫(kù)存10臺(tái)AB→E例:東店——海爾洗衣機(jī)(——賣海爾洗衣機(jī)的部門(mén)——家電部)——部門(mén)經(jīng)理是張三關(guān)系模式R(A,B,C,D,E)已滿足2NF。進(jìn)一步分析:非主屬性C、D、E之間不存在相互依賴,即關(guān)系模式R(A,B,C,D,E)不存在非主屬性對(duì)候選關(guān)鍵字的傳遞依賴,根據(jù)第三范式的定義,關(guān)系模式R(A,B,C,D,E)已滿足3NF。[1]六、R已達(dá)3NF,是否已達(dá)BCNF若不是BCNF,將其分解為BCNF模式集由BC范式的定義得知:如果關(guān)系模式每個(gè)決定因素都包含關(guān)鍵字(而不是被關(guān)鍵字所包含),則R滿足BC范式。[1]分析:在F={AB→C,AC→E,AB→D}中,有依賴AC→E的左邊{A,C}不包含候選關(guān)鍵字{A,B},即AC→E是BCNF的違例。所以,關(guān)系模式R(A,B,C,D,E)不滿足BCNF。1、下面分解關(guān)系模式R(A,B,C,D,E):分解3NF,有一定的規(guī)則。從BCNF違例AC→E入手,我們得到兩個(gè)新關(guān)系模式:R1(A,C,E)和R2(A,C,B,D)R1由違例的所有屬性組成,R2由違例的決定因素和R的其余屬性組成。即:R1(商店編號(hào),部門(mén)編

溫馨提示

  • 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)論