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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論