版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第4章 關(guān)系規(guī)范化,本章知識點,關(guān)系規(guī)范化目的和意義 函數(shù)依賴 第一范式(1NF) 第二范式 (2NF) 第三范式(3NF) BC范式(BCNF) 逆規(guī)范化,關(guān)系規(guī)范化的目的和意義,E.F.Codd指出: 一個關(guān)系數(shù)據(jù)庫中的關(guān)系都應(yīng)滿足一定的規(guī)范,才能構(gòu)造出好的關(guān)系模式,E. F. Codd,關(guān)系規(guī)范化的目的和意義,一個好的數(shù)據(jù)庫設(shè)計所遵循的標準: 每個表應(yīng)提供一個惟一的標識符,用來區(qū)分不同的行 每個表應(yīng)當存儲單個實體類型的數(shù)據(jù) 每個表不應(yīng)該出現(xiàn)值全部相同的行(或列) 盡量避免接受NULL值(空值)的列 盡量避免值重復(fù) 關(guān)系規(guī)范化過程 用形式更為簡潔、結(jié)構(gòu)更加規(guī)范的關(guān)系模式取代原有關(guān)系模式的過
2、程,關(guān)系規(guī)范化的目的和意義,實例分析 將專業(yè)和系兩個實體存放在一個表內(nèi),關(guān)系規(guī)范化的目的和意義,實例分析 數(shù)據(jù)冗余 :數(shù)據(jù)在數(shù)據(jù)庫中的重復(fù)存放稱為數(shù)據(jù)冗余 數(shù)據(jù)冗余導(dǎo)致的問題: 浪費存儲空間 可能造成數(shù)據(jù)的不一致性,產(chǎn)生插入、刪除和更新異常 增加了插入、刪除和更新數(shù)據(jù)的時間,數(shù)據(jù)重復(fù),關(guān)系規(guī)范化的目的和意義,實例分析 插入異常 : 在不規(guī)范的數(shù)據(jù)表中插入數(shù)據(jù)時,由于實體完整性約束要求主鍵非空的限制,將會出現(xiàn)一些有用數(shù)據(jù)無法插入的情況,主鍵不能為空,插入失敗,關(guān)系規(guī)范化的目的和意義,實例分析 刪除異常 在不規(guī)范的數(shù)據(jù)表中,刪除某條記錄會將其中一部分有用數(shù)據(jù)一起刪除,有用數(shù)據(jù)被刪除,關(guān)系規(guī)范化的目
3、的和意義,實例分析 更新異常 在不規(guī)范的數(shù)據(jù)表中修改某條記錄的特定分量,而其它記錄中的等值分量不能同步更新,則會導(dǎo)致數(shù)據(jù)不一致,數(shù)據(jù)不一致,關(guān)系規(guī)范化的目的和意義,設(shè)計數(shù)據(jù)庫的方法: 憑借經(jīng)驗和常識可以進行數(shù)據(jù)庫初步設(shè)計 使用一些系統(tǒng)方法(如:規(guī)范化理論)來降低冗余,從而使數(shù)據(jù)庫設(shè)計更為合理 關(guān)系規(guī)范化是數(shù)據(jù)庫邏輯設(shè)計的指南,它是基于函數(shù)依賴和范式的,函數(shù)依賴,數(shù)據(jù)依賴 屬性之間相互依賴、相互制約的關(guān)系被稱為數(shù)據(jù)依賴 關(guān)系模式中的最常見的數(shù)據(jù)依賴為:函數(shù)依賴 函數(shù)依賴(Functional Dependencies),學(xué)生關(guān)系(學(xué)號,姓名,性別,年齡,專業(yè)編號,已取得總學(xué)分) 學(xué)號姓名 學(xué)號性
4、別 學(xué)號年齡 學(xué)號專業(yè)編號 學(xué)號已取得總學(xué)分,函數(shù)依賴,函數(shù)依賴的定義 已知:X和Y是關(guān)系R中兩個屬性(或?qū)傩越M) 若對于X的任何一個值,只有一個Y的值與之對應(yīng),則稱Y函數(shù)依賴于X,記為:XY,X被稱為決定因子 任何屬性都函數(shù)依賴于候選鍵,所有候選鍵都是決定因子 例 子:,函數(shù)依賴,思 考 下面給出的關(guān)系表R(A, B, C, D)滿足下述哪個函數(shù)依賴?,A. AB B. BD C. DC D. AD,范式,范式的定義 范式(Normal Formula:NF)是表結(jié)構(gòu)在優(yōu)化時必須滿足的一些規(guī)則 最重要的范式包括: 第一范式(1NF) 第二范式(2NF) 第三范式(3NF) Boyce-Cod
5、e范式(BCNF),范式,范式的特征 E.F.Codd把關(guān)系模式應(yīng)滿足的規(guī)則劃分成幾級,每一級稱為一個范式 范式的等級越高,應(yīng)滿足的條件也越嚴 規(guī)范化 一個低級范式的關(guān)系模式,通過分解(投影)方法可以轉(zhuǎn)換成若干高一級范式的關(guān)系模式,這個過程稱為規(guī)范化 1NF 2NF 3NF BCNF,第一范式,第一范式定義 若關(guān)系R中的每個屬性(列)都是不可再分的,并且每個屬性都是單值的,則稱關(guān)系R滿足第一范式,記為:R1NF 屬性不可再分:1NF中不能出現(xiàn)子屬性 屬性值為單值:每個單元格中不允許出現(xiàn)一個以上的數(shù)據(jù) 1NF是對關(guān)系的最低要求,不滿足1NF的關(guān)系是非規(guī)范化的關(guān)系,第一范式,實例分析 提出 / 分
6、析問題,非規(guī)范化,第一范式,實例分析 問題求解,第二范式,第二范式定義 若關(guān)系R1NF,并且每個非主屬性都函數(shù)依賴于整個候選鍵,而不是依賴于部分候選鍵,則稱關(guān)系R滿足第二范式,記為:R2NF 1NF轉(zhuǎn)化為2NF: 優(yōu)先判斷主鍵的規(guī)范性 將依賴部分鍵的非主屬性和所依賴部分鍵組成一個關(guān)系 將依賴整個鍵的非主屬性和整個鍵組成另一個關(guān)系,第二范式,實例分析 提出問題:滿足1NF,不滿足2NF,第二范式,實例分析 分析問題: 插入異常:在一個學(xué)生未選擇任何課程時,該學(xué)生信息不能被插入 更新異常:對于給定的學(xué)生,學(xué)號、性別、姓名和年齡重復(fù)多次;對于給定的班級,課程名稱、開課時間重復(fù)多次 刪除異常:當需要刪
7、除某個學(xué)生的信息時,與該學(xué)生相關(guān)的班級信息將被刪除;刪除班級信息時,選該班級課程的學(xué)生信息也將被刪除,這種刪除將造成一些信息的丟失,第二范式,實例分析 問題求解,滿足2NF,第二范式,思 考 在按照2NF要求分解之后的關(guān)系模式中,確定學(xué)生表、班級表和選課表的主鍵和外鍵。,第三范式,第三范式定義 若關(guān)系R2NF,并且它的非主屬性只函數(shù)依賴于候選鍵,而不依賴于其它非主屬性,則稱R滿足第三范式,記為:R3NF 2NF轉(zhuǎn)化為3NF: 將不只依賴于鍵的非主屬性和所依賴的非主屬性組成一個關(guān)系 原有關(guān)系中去掉那些不只依賴于鍵的非主屬性,剩余部分組成一個關(guān)系,第三范式,實例分析 提出問題:滿足2NF,不滿足3
8、NF,第三范式,實例分析 分析問題 插入異常:如果一個專業(yè)沒有學(xué)生時不能插入該專業(yè)的信息 更新異常:對于給定的專業(yè),專業(yè)名稱和專業(yè)帶頭人姓名重復(fù)多次出現(xiàn),產(chǎn)生了數(shù)據(jù)冗余,如果一個專業(yè)的專業(yè)帶頭人姓名發(fā)生變更,則與該專業(yè)相關(guān)的所有記錄都要更新,否則將造成同一專業(yè)其帶頭人不一致,引發(fā)更新異常。 刪除異常:當一個專業(yè)只有一個學(xué)生時,在刪除該學(xué)生信息的時候會將該專業(yè)的信息全部刪除,造成有效數(shù)據(jù)的丟失,引發(fā)刪除異常。,第三范式,實例分析 問題求解,滿足3NF,第三范式,思 考 在按照3NF要求分解之后的關(guān)系模式中,確定學(xué)生表和專業(yè)表的主鍵和外鍵。,BC范式,BC范式定義 若關(guān)系R1NF,并且它的決定因子
9、都是候選鍵,則稱R滿足BC范式,記為:RBCNF,BC范式,實例分析 提出問題:滿足3NF,不滿足BCNF,BC范式,實例分析 分析問題 該關(guān)系中存在如下函數(shù)依賴: (depNo, productNo) account (depName, productNo ) account depNodepName depNamedepNo 候選鍵包括:(depNo, productNo)和(depName,productNo) 主屬性包括:depNo、depName和productNo 非主屬性包括:account,BC范式,實例分析 分析問題 BCNF轉(zhuǎn)換方法 將產(chǎn)生函數(shù)依賴關(guān)系的主屬性組成一個新關(guān)系
10、 組合剩余的屬性,合并相同的元組,BC范式,實例分析 問題求解,滿足BCNF,逆規(guī)范化,通過規(guī)范化可以分解得到一些結(jié)構(gòu)簡單的表,但是在查詢時可能需要連接多個表,這造成了大量的數(shù)據(jù)庫邏輯運算,從而降低了查詢效率 為了提高查詢效率,可以在特定的表中引入一些額外的屬性 數(shù)據(jù)庫設(shè)計允許存在合理的冗余,逆規(guī)范化,逆規(guī)范化的定義 將兩個或多個滿足高范式的關(guān)系模式通過自然連接,重新合并成一個滿足較低范式的關(guān)系模式的過程稱為逆規(guī)范化 規(guī)范化和逆規(guī)范化是相互矛盾的,何時進行規(guī)范化、何時進行逆規(guī)范化、進行到什么程度,在具體的應(yīng)用環(huán)境中,需要數(shù)據(jù)庫設(shè)計者仔細分析和平衡 逆規(guī)范化需要設(shè)計者在關(guān)系中有意地引入一些冗余以
11、改進系統(tǒng)的查詢性能,逆規(guī)范化,實例分析 提出問題,計算stuNo= S001學(xué)生的已獲學(xué)分,需要對三個表進行連接,逆規(guī)范化,實例分析 分析問題 查詢和計算過程在經(jīng)過數(shù)據(jù)庫編譯后,將會變成一個比較繁瑣的程序在后臺運行,尤其在數(shù)據(jù)庫記錄非常多、用戶訪問量很大的情況下將會造成用戶難以忍受的延遲。 在表中適當增加一定冗余,可以減少數(shù)據(jù)庫服務(wù)器的負荷,提高查詢速度,如果需要經(jīng)常查詢和統(tǒng)計學(xué)生已獲得學(xué)分,可以在原來的學(xué)生表中增加一個新的字段stuTotalCredi來表示已取得的總學(xué)分,雖然這樣設(shè)計在一定程度上會導(dǎo)致數(shù)據(jù)的冗余,但是可以極大提高查詢速度。,逆規(guī)范化,實例分析 問題求解,增加一個新列來存儲學(xué)
12、生已獲總學(xué)分,本章小結(jié),設(shè)計不合理的數(shù)據(jù)庫存在數(shù)據(jù)冗余、插入異常、刪除異常和更新異常等一系列問題。 一個關(guān)系數(shù)據(jù)庫中的關(guān)系都應(yīng)滿足一定的規(guī)范,才能構(gòu)造出好的關(guān)系數(shù)據(jù)模式,關(guān)系規(guī)范化的目的就是實現(xiàn)關(guān)系數(shù)據(jù)庫設(shè)計的優(yōu)化。 函數(shù)依賴涉及到平凡函數(shù)依賴、非平凡函數(shù)依賴、完全函數(shù)依賴、部分函數(shù)依賴、傳遞函數(shù)依賴等概念。 根據(jù)一個關(guān)系模式的語義,可以求出其最小函數(shù)依賴集,確定各屬性之間的函數(shù)依賴關(guān)系,并求出關(guān)系的候選鍵。 關(guān)系模式應(yīng)滿足的規(guī)范化程度分為幾級,每一級稱為一個范式。 第一范式是一個關(guān)系的最低規(guī)范化級別,第一范式要求屬性不能再分,即所有的屬性都是單值屬性。,本章小結(jié),第二范式要求消除所有非主屬性對主屬性的部分函數(shù)依賴。如果滿足第一范式的關(guān)系中所有候選鍵都是單屬性,則滿足第二范式。 第三范式要求消除非主屬性對主屬性的傳遞函數(shù)依賴。在關(guān)系規(guī)范化過程中,通常是先消除傳遞函數(shù)依賴,再消除部分函數(shù)依賴。 BC范式要求消
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 吉林省延邊州2025-2026學(xué)年高一(上)期末物理試卷(含答案)
- 河南省漯河市臨潁縣晨中學(xué)校2025-2026學(xué)年上學(xué)期10月月考八年級數(shù)學(xué)試卷(含答案)
- 期中測試卷(含答案含聽力原文無音頻)2025-2026學(xué)年人教版英語八年級下冊
- 無常題目及答案
- 望岳的題目及答案
- 新人教版九年級地理上冊期末試卷(及答案)
- 天津博邁科海洋工程有限公司臨港海洋重工建造基地一期工程環(huán)境影響補充報告簡本
- 電氣物聯(lián)網(wǎng)技術(shù)要點
- 雅安滎經(jīng)220kV變電站110kV間隔擴建工程建設(shè)項目環(huán)境影響報告表
- 數(shù)字攝影考試試題及答案
- 河南省信陽市2024-2025學(xué)年高二上學(xué)期1月期末英語試題(含答案無聽力原文及音頻)
- 給女朋友申請書
- 八下《桃花源記》《小石潭記》全文背誦(原文+譯文)
- 房顫搶救流程護理
- 【8地RJ期末】安徽省蕪湖市2024-2025學(xué)年八年級上學(xué)期期末考試地理試卷+
- 智能法理學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 長護險護理培訓(xùn)課件
- 福建省廈門市2023-2024學(xué)年高二上學(xué)期期末考試英語試題(解析版)
- 藍絲帶的故事
- 上海市中醫(yī)住院醫(yī)師規(guī)范化培訓(xùn)細則(年7月12日)
- 樣板加油站打造方案
評論
0/150
提交評論