4.4-數(shù)據(jù)庫規(guī)范化設(shè)計-2_第1頁
4.4-數(shù)據(jù)庫規(guī)范化設(shè)計-2_第2頁
4.4-數(shù)據(jù)庫規(guī)范化設(shè)計-2_第3頁
4.4-數(shù)據(jù)庫規(guī)范化設(shè)計-2_第4頁
4.4-數(shù)據(jù)庫規(guī)范化設(shè)計-2_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

4.4-2數(shù)據(jù)庫規(guī)范化設(shè)計——關(guān)系規(guī)范化范式理解不同程度的規(guī)范化范式掌握數(shù)據(jù)庫規(guī)范化設(shè)計方法理解逆規(guī)范化處理方法【本節(jié)學(xué)習(xí)目標(biāo)】一、關(guān)系規(guī)范化范式規(guī)范化范式(NormalForm,NF)是指關(guān)系表符合特定規(guī)范化程度的模式。關(guān)系規(guī)范化是把一個有訪問異常的關(guān)系分解成結(jié)構(gòu)良好的關(guān)系的過程,使得這些關(guān)系有最小的冗余或沒有冗余。1.第1范式(1NF)如果關(guān)系表中的屬性不可再細(xì)分,該關(guān)系滿足第1范式。反之,該表就不是關(guān)系表。如果關(guān)系滿足第1范式,并消除了關(guān)系中的屬性部分函數(shù)依賴,該關(guān)系滿足第2范式。例有一個關(guān)系(A,B,N,O,P),其復(fù)合主鍵為(A,B),那么N,O,P這三個非鍵屬性都不存在只依賴A或只依賴B情況,則該關(guān)系滿足第2范式,反之,不滿足第2范式。2.第2范式(2NF)如果關(guān)系滿足第2范式,并切斷了關(guān)系中的屬性傳遞函數(shù)依賴,該關(guān)系滿足第3范式。例若有一個關(guān)系(A,N,O,P),主鍵為(A),那么非鍵屬性N,O或P都不能由單個的N,O或P或它們的組合所確定。該關(guān)系滿足第3范式。3.第3范式(3NF)在關(guān)系中,所有函數(shù)依賴的決定因子都是候選鍵,該關(guān)系滿足BCNF范式。例關(guān)系STUDENT(StudentNum,Name,Email)中,決定因子StudentNum也是候選鍵,該關(guān)系滿足BCNF范式。4.巴斯-科德范式(BCNF)如果關(guān)系滿足BCNF范式,并消除了多值函數(shù)依賴,該關(guān)系滿足第4范式。例:設(shè)學(xué)校中某一門課程由多個教師講授,每個教師可有自己的參考書。用關(guān)系模式Teaching(Course,Teacher,Book)來表示課程、教師和參考書之間的關(guān)系。該關(guān)系Teaching(Course,Teacher,Book),屬于BCNF范式;但是存在多值函數(shù)依賴,即不滿足4NF。將原表進(jìn)行分解處理,可分解為Teaching(TeachID,CourseID,TeacherID,BookID)、Course(CourseID,CourseName)、

Teacher(TeacherID,TeacherName)、Book(BookID,BookName)后,即可消除多值依賴,便可滿足4NF范式。5.第4范式(4NF)1NF→2NF→

3NF→BNCF→4NF6.關(guān)系規(guī)范化程度利弊關(guān)系的規(guī)范化程度越高,關(guān)系數(shù)據(jù)庫存儲的冗余數(shù)據(jù)就越少,可消除的數(shù)據(jù)訪問異常就越多。不過關(guān)系的規(guī)范化程度越高,分解出來的關(guān)系表就越多,但實現(xiàn)數(shù)據(jù)查詢訪問時,需關(guān)聯(lián)多表,其效率降低。關(guān)系的規(guī)范化程度依次提升:例“學(xué)生”關(guān)系的規(guī)范化處理它滿足第1范式?二、關(guān)系規(guī)范化設(shè)計實例第1范式:如果關(guān)系中的屬性不可再細(xì)分,則該關(guān)系滿足第1范式。解決辦法:將學(xué)生關(guān)系的“聯(lián)系方式”進(jìn)行屬性分解。本關(guān)系不滿足1范式,因為“聯(lián)系方式”屬性可以再細(xì)分“電話”、“電子郵件”等。問題:它滿足第2范式嗎?第2范式:如果關(guān)系滿足第1范式,并消除了關(guān)系中的屬性部分依賴,則該關(guān)系滿足第2范式。分析:主鍵(學(xué)號,課程號)(學(xué)號)→系名(學(xué)號)→住址(學(xué)號)→電話(學(xué)號)→電子郵件存在部分依賴,不滿足第2范式處理辦法:對學(xué)生關(guān)系進(jìn)行分解,按“學(xué)生信息”、“課程成績”主題撤分為兩個關(guān)系表。以上“學(xué)生”關(guān)系和“課程成績”關(guān)系均滿足第2范式問題:它滿足第3范式嗎?第3范式:如果關(guān)系滿足第2范式,并切斷了關(guān)系中的屬性傳遞依賴,則該關(guān)系滿足第3范式。分析:在學(xué)生關(guān)系表中,(學(xué)號)→系名,(系名)→住址,故(學(xué)號)→住址。存在傳遞函數(shù)依賴,不滿足第3范式。處理辦法:對學(xué)生關(guān)系再次分解為“學(xué)生”、“系信息”關(guān)系“學(xué)生”、“系信息”、“課程成績”關(guān)系均滿足第3范式問題:它滿足BCNF范式嗎?“學(xué)生”、“系信息”、“課程成績”關(guān)系均滿足BCNF范式問題:它滿足第4范式嗎?BCNF范式:在關(guān)系中,所有函數(shù)依賴決定因子是主鍵,則該關(guān)系滿足BCNF范式。分析:一個系的學(xué)生住址可能有多處,辦公電話也有多個,故“系信息”關(guān)系存在多值依賴,不滿足第4范式。第4范式:如果關(guān)系滿足BCNF范式,并消除了多值依賴,則該關(guān)系滿足第4范式。處理辦法:對“系信息”關(guān)系進(jìn)一步分解為“系編碼”、“學(xué)生住址”、“電話目錄”關(guān)系。以上各關(guān)系均滿足第4范式三、逆規(guī)范化處理規(guī)范化減少了數(shù)據(jù)冗余,易于保證數(shù)據(jù)的完整性,但規(guī)范化過高也會導(dǎo)致數(shù)據(jù)庫性能降低,因此,在利用規(guī)范化設(shè)計數(shù)據(jù)庫時要平衡兩者的關(guān)系。為此,有人又提出了逆規(guī)范化處理的思想。所謂逆規(guī)范化,就是適當(dāng)降低規(guī)范化范式約束,不

溫馨提示

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

評論

0/150

提交評論