實(shí)驗0-關(guān)系規(guī)范化設(shè)計理論和方法.doc_第1頁
實(shí)驗0-關(guān)系規(guī)范化設(shè)計理論和方法.doc_第2頁
實(shí)驗0-關(guān)系規(guī)范化設(shè)計理論和方法.doc_第3頁
實(shí)驗0-關(guān)系規(guī)范化設(shè)計理論和方法.doc_第4頁
實(shí)驗0-關(guān)系規(guī)范化設(shè)計理論和方法.doc_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

關(guān)系規(guī)范化設(shè)計理論和方法一 關(guān)系規(guī)范化設(shè)計理論函數(shù)依賴 定義: 設(shè)關(guān)系模式R(U,F(xiàn)),U是屬性全集,F(xiàn)是U上的函數(shù)依賴集,X和Y 是U的子集。 如果對于R(U)的任意一個可能的關(guān)系 r ,對于X的每一個具體值,Y都有唯一具體的值與之對應(yīng),則稱 X函數(shù)決定 Y,或Y函數(shù)依賴于X,記為 XY。我們稱X為決定因素,Y為依賴因素。當(dāng)Y不函數(shù)依賴于X時,記作:XY。當(dāng)XY且YX時,則記作:XY。 范式在關(guān)系數(shù)據(jù)庫的規(guī)范化過程中,為不同程度的規(guī)范化要求設(shè)立的不同的標(biāo)準(zhǔn)或準(zhǔn)則稱為范式(Normal Form)。滿足最低要求的叫第一范式,簡稱1NF。在第一范式中滿足進(jìn)一步要求的為第二范式(2NF),其余以此類推。R為第幾范式就可以寫成RxNF(x表示某范式名)。 一個低一級范式的關(guān)系模式,通過模式分解可以轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集合,這種轉(zhuǎn)換過程就叫規(guī)范化。 第一范式 定義: 如果關(guān)系模式R所有的屬性均為簡單屬性,即每個屬性都是不可再分的,則稱R屬于第一范式,簡稱1NF,記作R1NF。第一范式(First Normal Form)是最基本的規(guī)范化形式,即關(guān)系中每個屬性都是不可再分的簡單項。第二范式 定義: 如果關(guān)系模式R1NF,R(U,F(xiàn))中的所有非主屬性都完全函數(shù)依賴于任意一個候選關(guān)鍵字,則稱關(guān)系R 是屬于第二范式(Second Normal Form),簡稱2NF,記作R2NF。從定義可知,滿足第二范式的關(guān)系模式R中,不可能有某非主屬性對某候選關(guān)鍵字存在部分函數(shù)依賴。第三范式 定義: 如果關(guān)系模式R2NF,R(U,F(xiàn))中所有非主屬性對任何候選關(guān)鍵字都不存在傳遞函數(shù)依賴,則稱R是屬于第三范式(Third Normal Form),簡稱3NF,記作 R3NF。3NF只限制了非主屬性對碼的依賴關(guān)系,而沒有限制主屬性對碼的依賴關(guān)系。如果發(fā)生了這種依賴,仍有可能存在數(shù)據(jù)冗余、插入異常、刪除異常和修改異常。這時,則需對3NF進(jìn)一步規(guī)范化,消除主屬性對碼的依賴關(guān)系,向更高一級的范式BCNF轉(zhuǎn)換。 BC范式 定義:如果關(guān)系模式R1NF,且在所有的函數(shù)依賴 XY(Y不包含于X)中,決定因素X都包含了R的一個候選碼,則稱R屬于BC范式(Boyce-Codd Normal Form),記作 RBCNF。由BCNF的定義可以得到以下結(jié)論,一個滿足BCNF的關(guān)系模式有:(1)所有非主屬性對每一個候選碼都是完全函數(shù)依賴。(2)所有的主屬性對每一個不包含它的候選碼都是完全函數(shù)依賴。(3)沒有任何一組屬性完全函數(shù)依賴于非碼。二關(guān)系規(guī)范化方法應(yīng)用舉例某機(jī)械廠有多個車間;每個車間有多名工人;每個車間生產(chǎn)多種產(chǎn)品和零件;一種產(chǎn)品由多個零件組成;產(chǎn)品和零件均存入倉庫中,該廠有多個倉庫。以下是該機(jī)械廠的詳細(xì)情況表格:原始數(shù)據(jù)表格R0職工號姓名性別工種車間號車間主任車間產(chǎn)品號產(chǎn)品價格產(chǎn)品存?zhèn)}倉庫主任組成產(chǎn)品的零件號零件重量零件制造車間零件存?zhèn)}0157張三男鉗工03李瑞T-25890.002顧太原A2578.0010202B23612.00201C2247.00103030165李大朋女車工02王娜T-474580.003趙選發(fā)A2578.0010202B5485.00201C2247.00103030184王五男銑工01張雄偉B-021954.002顧太原A2578.0010202B23612.00201S-581800.001陳自成B5485.00201C2247.00103030244劉小剛女車工02王娜T-474580.003趙選發(fā)A2578.0010202B5485.00201C2247.0010303這張表格察看起來非常方便,但它不符合1NF,存在以下問題:某些單元格存儲的數(shù)據(jù)多于一個,在數(shù)據(jù)庫中將無法實(shí)現(xiàn)這種存儲格式;另外,這種表格使某些操作也無法完成。 為了使R01NF,對R0做縱向擴(kuò)展,從而可有以下關(guān)系R1:某機(jī)械廠信息管理關(guān)系R1職工號姓名性別工種車間號車間主任車間產(chǎn)品號產(chǎn)品價格產(chǎn)品存?zhèn)}倉庫主任組成產(chǎn)品的零件號零件重量零件制造車間零件存?zhèn)}0157張三 男鉗工03李瑞 T-25 890.002顧太原 A2578.001020157張三 男鉗工03李瑞 T-25 890.002顧太原 A2578.002020157張三 男鉗工03李瑞 T-25 890.002顧太原 B23612.002010157張三 男鉗工03李瑞 T-25 890.002顧太原 C2247.001030157張三 男鉗工03李瑞 T-25 890.002顧太原 C2247.003030165李大朋 女車工02王娜 T-47 4580.003趙選發(fā) A2578.001020165李大朋 女車工02王娜 T-47 4580.003趙選發(fā) A2578.002020165李大朋 女車工02王娜 T-47 4580.003趙選發(fā) B5485.002010165李大朋 女車工02王娜 T-47 4580.003趙選發(fā) C2247.001030165李大朋 女車工02王娜 T-47 4580.003趙選發(fā) C2247.003030184王五 男銑工01張雄偉 B-02 1954.002顧太原 A2578.001020184王五 男銑工01張雄偉 B-02 1954.002顧太原 A2578.002020184王五 男銑工01張雄偉 B-02 1954.002顧太原 B23612.002010184王五 男銑工01張雄偉 S-58 1800.001陳自成 B5485.002010184王五 男銑工01張雄偉 S-58 1800.001陳自成 C2247.001030184王五 男銑工01張雄偉 S-58 1800.001陳自成 C2247.003030244劉小剛 女車工02王娜 T-47 4580.003趙選發(fā) A2578.001020244劉小剛 女車工02王娜 T-47 4580.003趙選發(fā) A2578.002020244劉小剛 女車工02王娜 T-47 4580.003趙選發(fā) B5485.002010244劉小剛 女車工02王娜 T-47 4580.003趙選發(fā) C2247.001030244劉小剛 女車工02王娜 T-47 4580.003趙選發(fā) C2247.00303現(xiàn)在,R11NF 。R1的一個候選鍵是:(職工號+產(chǎn)品號+零件號)。由于R1存在以下函數(shù)依賴:職工號姓名,職工號性別,職工號工種,職工號車間號,職工號車間主任;產(chǎn)品號價格;產(chǎn)品號倉庫號;產(chǎn)品號倉庫主任零件號重量。在以上9個函數(shù)依賴中,依賴因素都是非主屬性,而決定因素都是候選鍵的一部分。換句話說,R1中存在非主屬性對候選鍵的部分函數(shù)依賴,故R1不滿足2NF??擅黠@看出,R1存在大量數(shù)據(jù)冗余。必須通過模式分解將R1關(guān)系模式轉(zhuǎn)換為若干個高一級范式的關(guān)系模式的集合模式規(guī)范化處理。為了使關(guān)系模式R1向高一級范式轉(zhuǎn)換,可將R1分解(做垂直分割,并保留相關(guān)的聯(lián)系)為R2、R3、R4三個關(guān)系:R2職工號姓名性別工種車間號車間主任車間產(chǎn)品號0157張三 男鉗工03李瑞 T-25 0157張三 男鉗工03李瑞 T-25 0157張三 男鉗工03李瑞 T-25 0157張三 男鉗工03李瑞 T-25 0157張三 男鉗工03李瑞 T-25 0165李大朋 女車工02王娜 T-47 0165李大朋 女車工02王娜 T-47 0165李大朋 女車工02王娜 T-47 0165李大朋 女車工02王娜 T-47 0165李大朋 女車工02王娜 T-47 0184王五 男銑工01張雄偉 B-02 0184王五 男銑工01張雄偉 B-02 0184王五 男銑工01張雄偉 B-02 0184王五 男銑工01張雄偉 S-58 0184王五 男銑工01張雄偉 S-58 0184王五 男銑工01張雄偉 S-58 0244劉小剛 女車工02王娜 T-47 0244劉小剛 女車工02王娜 T-47 0244劉小剛 女車工02王娜 T-47 0244劉小剛 女車工02王娜 T-47 0244劉小剛 女車工02王娜 T-47 R3 R4車間產(chǎn)品號產(chǎn)品價格產(chǎn)品存?zhèn)}倉庫主任組成產(chǎn)品的零件號零件號零件重量零件制造車間零件存?zhèn)}T-25 890.002顧太原 A257A2578.00102T-25 890.002顧太原 A257A2578.00202T-25 890.002顧太原 B236B23612.00201T-25 890.002顧太原 C224C2247.00103T-25 890.002顧太原 C224C2247.00303T-47 4580.003趙選發(fā) A257A2578.00102T-47 4580.003趙選發(fā) A257A2578.00202T-47 4580.003趙選發(fā) B548B5485.00201T-47 4580.003趙選發(fā) C224C2247.00103T-47 4580.003趙選發(fā) C224C2247.00303B-02 1954.002顧太原 A257A2578.00102B-02 1954.002顧太原 A257A2578.00202B-02 1954.002顧太原 B236B23612.00201S-58 1800.001陳自成 B548B5485.00201S-58 1800.001陳自成 C224C2247.00103S-58 1800.001陳自成 C224C2247.00303T-47 4580.003趙選發(fā) A257A2578.00102T-47 4580.003趙選發(fā) A257A2578.00202T-47 4580.003趙選發(fā) B548B5485.00201T-47 4580.003趙選發(fā) C224C2247.00103T-47 4580.003趙選發(fā) C224C2247.00303刪除以上三個關(guān)系中的重復(fù)元組后,三個關(guān)系模式分別為:R2職工號姓名性別工種車間號車間主任產(chǎn)品號0157張三 男鉗工03李瑞 T-25 0165李大朋 女車工02王娜 T-47 0184王五 男銑工01張雄偉 B-02 0184王五 男銑工01張雄偉 S-58 0244劉小剛 女車工02王娜 T-47 R3 R4產(chǎn)品號產(chǎn)品價格產(chǎn)品存?zhèn)}倉庫主任組成產(chǎn)品的零件號零件號零件重量零件制造車間零件存?zhèn)}T-25 890.002顧太原 A257A2578.00102T-25 890.002顧太原 B236A2578.00202T-25 890.002顧太原 C224B23612.00201T-47 4580.003趙選發(fā) A257C2247.00103T-47 4580.003趙選發(fā) B548C2247.00303T-47 4580.003趙選發(fā) C224B5485.00201B-02 1954.002顧太原 A257B-02 1954.002顧太原 B236S-58 1800.001陳自成 B548S-58 1800.001陳自成 C224R2的候選鍵是(職工號+產(chǎn)品號)。R2存在以下函數(shù)依賴:職工號姓名,職工號性別,職工號工種,職工號車間號,職工號車間主任;由于R2存在部分函數(shù)依賴,故R2不滿足2NF。將R2分解為R5和生產(chǎn)表:R2職工號姓名性別工種車間號車間主任產(chǎn)品號0157張三 男鉗工03李瑞 T-25 0165李大朋 女車工02王娜 T-47 0184王五 男銑工01張雄偉 B-02 0184王五 男銑工01張雄偉 S-58 0244劉小剛 女車工02王娜 T-47 R5 生產(chǎn)表職工號姓名性別工種車間號車間主任車間號產(chǎn)品號0157張三 男鉗工03李瑞 03T-25 0165李大朋 女車工02王娜 02T-47 0184王五 男銑工01張雄偉 01B-02 0244劉小剛 女車工02王娜 01S-58 顯然,生產(chǎn)表2NF,且生產(chǎn)表3NF。生產(chǎn)表反映的是車間與產(chǎn)品之間的聯(lián)系車間生產(chǎn)產(chǎn)品。R5滿足2NF。R5的候選鍵是“職工號”。故有:職工號車間號,職工號車間主任;但也存在:車間號車間主任。即有:職工號車間號,車間號車間主任,即“車間主任”傳遞依賴于候選關(guān)鍵字“職工號”,即R5不滿足3NF。將R5分解為工人表和車間表: 工人表 車間表職工號姓名性別工種車間號車間號車間主任0157張三 男鉗工0303李瑞 0165李大朋 女車工0202王娜 0184王五 男銑工0101張雄偉 0244劉小剛 女車工02 至此,R2被分解成了3個滿足3NF的關(guān)系模式(工人表、車間表、生產(chǎn)表)。R3的候選鍵是(產(chǎn)品號+零件號)。R3存在以下函數(shù)依賴:產(chǎn)品號產(chǎn)品價格,產(chǎn)品號倉庫號,產(chǎn)品號倉庫主任;故R3不滿足2NF。將R3分解為R6和裝配表:R3產(chǎn)品號產(chǎn)品價格倉庫號倉庫主任零件號T-25 890.002顧太原 A257T-25 890.002顧太原 B236T-25 890.002顧太原 C224T-47 4580.003趙選發(fā) A257T-47 4580.003趙選發(fā) B548T-47 4580.003趙選發(fā) C224B-02 1954.002顧太原 A257B-02 1954.002顧太原 B236S-58 1800.001陳自成 B548S-58 1800.001陳自成 C224 R6 裝配表產(chǎn)品號產(chǎn)品價格產(chǎn)品存?zhèn)}倉庫主任產(chǎn)品號零件號T-25 890.002顧太原 T-25 A257T-47 4580.003趙選發(fā) T-25 B236B-02 1954.002顧太原 T-25 C224S-58 1800.001陳自成 T-47 A257T-47 B548T-47 C224B-02 A257B-02 B236S-58 B548S-58 C224顯然,裝配表2NF,且裝配表3NF。裝配表反映的是零件與產(chǎn)品之間的聯(lián)系零件裝配成產(chǎn)品。R6滿足2NF,但不滿足3NF,故再將R6分解為產(chǎn)品表和倉庫表: 產(chǎn)品表 倉庫表產(chǎn)品號產(chǎn)品價格倉庫號倉庫號倉庫主任T-25 890.00202顧太原 T-47 4580.00303趙選發(fā) B-02 1954.00201陳自成 S-58 1800.001 至此,R3被分解成了3個滿足3NF的關(guān)系模式(產(chǎn)品表、倉庫表、裝配表)。 R4的候選關(guān)鍵字是:(零件號+車間號),存在部分函數(shù)依賴,故將R4分解為零件表和制造表:R4零件號零件重量車間號倉庫號A2578.00102A2578.00202B23612.00201C2247.00103C2247.00303B5485.00201 零件表 制造表零件號零件重量倉庫號零件號車間號A2578.002A25701B23612.001A25702C2247.003B23602B5485.001C22401C22403B54802 顯然,零件表3NF,制造表3NF。 綜合以上規(guī)范化結(jié)果,有以下8個關(guān)系:工人表職工號姓名性別工種車間號0157張三 男鉗工030165李大朋 女車工020184王五 男銑工010244劉小剛 女車工02車間表車間號車間主任03李瑞 02王娜 01張雄偉 產(chǎn)品表產(chǎn)品號產(chǎn)品價格倉庫號T-25890.002T-474580.003B-021954.002S-581800.001倉庫表倉庫號倉庫主任02顧太原03趙選發(fā)01陳自成生產(chǎn)表產(chǎn)品號車間號T-2503T-4702B-0201S-5801零件表零件號零件重量倉庫號A2578.002B23612.001C2247.003B5485.001裝配表產(chǎn)品號零件號T-25A257T-25B236T-25C224T-47A257T-47B548T-47C224B-02A257B-02B236S-58B548S-58C224制造表零件號車間號A25701A25702B23602C22401C22403B54802其中,生產(chǎn)表可合并到產(chǎn)品表中。則最終規(guī)范化結(jié)果為以下7個關(guān)系模式:工人表職工號姓名性別工種車間號0157張三 男鉗工030165李大朋 女車工020184王五 男銑工010244劉小剛 女車工02車間表車間號車間主任03李瑞 02王娜 01張雄偉 產(chǎn)品表產(chǎn)品號產(chǎn)品價格倉庫號車間號T-25890.00203T-474580.00302B-021954.00201S-581800.00101倉庫表倉庫號倉庫主任02顧太原03趙選發(fā)01陳自成零件表零件號零件重量倉庫號A2578.002B23612.001C2247.003B5485.001裝配表產(chǎn)品號零件號T-25A257T-25B236T-25C224T-47A257T-47B548T-47C224B-02A257B-02B

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論