




免費(fèi)預(yù)覽已結(jié)束,剩余47頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章數(shù)據(jù)依賴與關(guān)系模式規(guī)范化 2008 12 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 2 目錄Contents 10 1概述10 2函數(shù)依賴與范式10 3多值依賴與范式10 4模式分解理論 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 3 10 1概述 10 1 1關(guān)系模式的設(shè)計(jì)10 1 2 不好的 Bad 關(guān)系模式10 1 3如何設(shè)計(jì) 好的 關(guān)系模式10 1 4權(quán)衡 規(guī)范化 性能 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 4 10 1 1關(guān)系模式的設(shè)計(jì) 概念回顧關(guān)系描述實(shí)體 屬性 實(shí)體間的聯(lián)系 從形式上看 它是一張二維表 是所涉及屬性的笛卡兒乘積的一個(gè)子集 關(guān)系模式運(yùn)用關(guān)系數(shù)據(jù)模型對(duì)一個(gè)企業(yè) 組織的一組數(shù)據(jù)的結(jié)構(gòu) 聯(lián)系和約束進(jìn)行描述的結(jié)果 實(shí)際上是用來定義關(guān)系的 關(guān)系數(shù)據(jù)庫基于關(guān)系模型的數(shù)據(jù)庫 利用關(guān)系來描述現(xiàn)實(shí)世界 從形式上看 它由一組關(guān)系組成 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 5 10 1 1關(guān)系模式的設(shè)計(jì) 關(guān)系模式的設(shè)計(jì) 成功開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的關(guān)鍵DB主要用于支持?jǐn)?shù)據(jù)密集型應(yīng)用 DataIntensiveApplications 數(shù)據(jù)密集型應(yīng)用的核心問題是 DB設(shè)計(jì)DB設(shè)計(jì) 結(jié)構(gòu)方面 數(shù)據(jù)模式 DataSchemas e g aSetofRelationalSchemas面向過程的方法 Process oriented e g SA SD面向數(shù)據(jù)的方法 Data oriented e g IEM 數(shù)據(jù)模型 DataModel e g RelationalModel目標(biāo) 設(shè)計(jì)一個(gè) 好的 Good 關(guān)系模式 關(guān)系數(shù)據(jù)庫的邏輯設(shè)計(jì) But Whatisagoodrelationalschema 數(shù)據(jù)庫邏輯設(shè)計(jì)的工具 關(guān)系數(shù)據(jù)庫的規(guī)范化理論 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 6 10 1 2 不好的 Bad 關(guān)系模式 1 模式設(shè)計(jì)同一個(gè)數(shù)據(jù)庫系統(tǒng)可以有多種不同的模式設(shè)計(jì)方案如假設(shè)一個(gè)學(xué)生數(shù)據(jù)庫中有以下屬性 學(xué)號(hào) SNO 課程號(hào) CNO 成績(jī) G 任課教師姓名 T 教師所在系名 DEPT 這些數(shù)據(jù)具有下列語義 學(xué)號(hào)是一個(gè)學(xué)生的標(biāo)識(shí) 課程號(hào)是一門課程的標(biāo)識(shí) 這些標(biāo)識(shí)與其表的學(xué)生和課程分別一一對(duì)應(yīng) 一位學(xué)生所修的每門課程都有一個(gè)成績(jī) 每門課程只有一位任課教師 但一位教師可以教多門課程 教師中沒有重名 每位教師只屬于一個(gè)系 可以采用的模式設(shè)計(jì)方案有多個(gè) Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 7 10 1 2 不好的 關(guān)系模式 方案一一個(gè)關(guān)系R SNO CNO G T DEPT 方案二三個(gè)關(guān)系R1 SNO CNO G R2 CNO T R3 T DEPT Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 8 10 1 2 不好的 關(guān)系模式 方案一對(duì)于關(guān)系模式R SNO CNO G T DEPT 的一個(gè)實(shí)例 R Table1 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 9 10 1 2 不好的 關(guān)系模式 方案二對(duì)于關(guān)系模式R1 SNO CNO G R2 CNO T R3 T DEPT 的一個(gè)實(shí)例 R1 R2 R3 Table2 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 10 10 1 2 不好的 關(guān)系模式 2不同模式設(shè)計(jì)方案的比較不同的模式設(shè)計(jì)方案對(duì)數(shù)據(jù)庫的影響是否相同 例 根據(jù)方案1所建立的數(shù)據(jù)庫如表1所示 根據(jù)方案2所建立的數(shù)據(jù)庫如表2所示 我們從下面幾個(gè)方面來比較這兩個(gè)數(shù)據(jù)庫 數(shù)據(jù)冗余度元組插入操作元組刪除操作元組更新操作 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 11 10 1 2 不好的 關(guān)系模式 經(jīng)過比較發(fā)現(xiàn) 表1具有如下問題 冗余 Redundancy 重復(fù)多次 C01 課的教師是 張樂 張樂 是 計(jì)算機(jī) 系的教師 對(duì)于方案二 則不存在數(shù)據(jù)冗余異常 Anomalies 更新異常 UpdateAnomalies 張樂 調(diào)到 土木 系 而只改了其中一個(gè)元組的值 出現(xiàn)數(shù)據(jù)不一致 M03 課的教師換成 楊萍 而只改了其中一個(gè)元組的值 出現(xiàn)數(shù)據(jù)不一致 對(duì)于方案二 只需分別修改R2和R3關(guān)系中的元組的值即可 不會(huì)出現(xiàn)數(shù)據(jù)不一致 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 12 10 1 2 不好的 關(guān)系模式 刪除異常 DeleteAnomalies C01 課不開了 需刪除表1中的前三個(gè)元組 張樂 是 計(jì)算機(jī) 系的教師的信息也隨著被刪除 對(duì)于方案二 我們可以僅在關(guān)系R1和R2關(guān)系中分別刪除課程為 C01 的元組信息 但不會(huì)誤刪除掉 張樂 是 計(jì)算機(jī) 系教師的信息 其所對(duì)應(yīng)的元組仍然保留在關(guān)系R3中 插入異常 InsertAnomalies 如果需要新開設(shè)一門尚未有學(xué)生選修的課程 C05 許卓明 則無法構(gòu)造出一個(gè)由SNO CNO G T DEPT屬性值所組成的新元組 在表1中就無法執(zhí)行元組的插入操作 對(duì)于方案二 我們可以直接將元組 C05 許卓明 插入到關(guān)系R2中 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 13 10 1 2 不好的 關(guān)系模式 因此 不同的模式設(shè)計(jì)方案有好壞的區(qū)分 好的設(shè)計(jì)方案應(yīng)該是 既具有合理的數(shù)據(jù)冗余度 又沒有插入和刪除等異?,F(xiàn)象的出現(xiàn) 3在不同的設(shè)計(jì)結(jié)果之間產(chǎn)生區(qū)別的原因數(shù)據(jù)庫的各屬性之間是互相關(guān)聯(lián)的 它們互相依賴 互相制約 構(gòu)成一個(gè)結(jié)構(gòu)嚴(yán)密的整體 要設(shè)計(jì)出一個(gè)好的關(guān)系模式 必須從數(shù)據(jù)庫中所有屬性的語義上進(jìn)行分析 從語義上入手分清每個(gè)屬性的語義含義及其相互之間的依存關(guān)系 進(jìn)而將那些相互依賴密切的屬性組合在一起構(gòu)成一個(gè)關(guān)系模式 避免對(duì)屬性的松散組合所引起的 排它性 從而可以降低數(shù)據(jù)冗余度 避免上述異?,F(xiàn)象的產(chǎn)生 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 14 10 1 2 不好的 關(guān)系模式 關(guān)系模式中數(shù)據(jù)的 語義 不單純 在此 語義 專指問題空間中固有的 相對(duì)穩(wěn)定的數(shù)據(jù)依賴 DD 關(guān)系 數(shù)據(jù)依賴是通過一個(gè)關(guān)系中屬性間值的相等與否體現(xiàn)出來的數(shù)據(jù)間的相互關(guān)系 是現(xiàn)實(shí)世界屬性間相互聯(lián)系的抽象 是語義的體現(xiàn) e g 函數(shù)依賴 FunctionalDependency FD 一個(gè) 組屬性X的值是否決定另一個(gè) 組屬性Y的值 X Y多值函數(shù)依賴 MultivaluedDependency MVD 連接依賴 JoinDependency JD Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 15 10 1 2 不好的 關(guān)系模式 由于在關(guān)系模式R中存在某些數(shù)據(jù)依賴 引起數(shù)據(jù)冗余和數(shù)據(jù)更新異常 解決方法 通過分解關(guān)系模式來消除其中不合適的數(shù)據(jù)依賴 即關(guān)系規(guī)范化 對(duì)以上模式R SNO CNO G T DEPT 有以下三個(gè)函數(shù)依賴 1 SNO CNO G2 CNO T3 T DEPT相應(yīng)的表示了三個(gè)事實(shí) 為何不用三個(gè)模式呢 R1 SNO CNO G 2 R2 CNO T 3 R3 T DEPT Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 16 10 1 3如何設(shè)計(jì) 好的 關(guān)系模式 如何設(shè)計(jì) 好的 關(guān)系模式 規(guī)范化 模式分解 范式規(guī)范化 Normalization 將一個(gè)關(guān)系模式按 語義單純化 的原則進(jìn)行合理的分解 稱模式分解 Decomposition 以最終達(dá)到 一事一地 OneFactinOnePlace 在每個(gè)關(guān)系中 屬性與屬性之間一定要滿足某種內(nèi)在的語義聯(lián)系 這被稱為關(guān)系的規(guī)范化 模式分解的條件 準(zhǔn)則起碼 分解是無損的 Lossless 分解前后要等價(jià) 即對(duì)任何相同的查詢總是產(chǎn)生相同的結(jié)果 可通過 連接 分解后的諸關(guān)系重構(gòu)原關(guān)系 理想 分解是保持依賴的 PreservingDependencies 這需進(jìn)一步論述 一個(gè)關(guān)系中 一個(gè)實(shí)體 聯(lián)系 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 17 10 1 3如何設(shè)計(jì) 好的 關(guān)系模式 范式 NormalForm 規(guī)范化 即模式分解 程度的一種測(cè)度 根據(jù)對(duì)屬性間所存在的內(nèi)在語義聯(lián)系要求的不同 又可以將關(guān)系的規(guī)范化分為若干個(gè)級(jí)別 這被稱為范式 第一范式 1NF 第二范式 2NF 函數(shù)依賴 FD 范疇 第三范式 3NF Boyce Codd范式 BCNF 第四范式 4NF 多值函數(shù)依賴 MVD 范疇第五范式 5NF 連接依賴 JD 范疇一個(gè)關(guān)系模式R達(dá)到x范式的程度稱 RisinxNF 記為 R xNF 否則 稱 RviolatesxNFcondition 記為 R xNF 高 低 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 18 10 1 3如何設(shè)計(jì) 好的 關(guān)系模式 數(shù)據(jù)依賴?yán)碚摵瘮?shù)依賴 FD FunctionalDependency 1970年 E F Codd1972 1974年 Codd Casey Bernstein Armstrong完全 部分FD 平凡 非平凡FD 直接 傳遞FD鍵 key 1974年 Armstrong公理系統(tǒng)FD的邏輯蘊(yùn)涵FD的形式化推理規(guī)則集多值依賴 MVD Multi ValuedDependency 1976 1978年 Zaniolo Fagin Delobel Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 19 10 1 4權(quán)衡 規(guī)范化 性能 規(guī)范化程度并非越高越好程度一般到BCNF 3NF已足夠策略對(duì)更新頻繁 查詢較少的表 規(guī)范化 減少 異常 對(duì)查詢頻繁 更新較少的表 規(guī)范化 提高 性能 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 20 目錄Contents 10 1概述10 2函數(shù)依賴與范式10 3多值依賴與范式10 4模式分解理論 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 21 10 2函數(shù)依賴與范式 10 2 1函數(shù)依賴函數(shù)依賴完全 部分FD 平凡 非平凡FD 直接 傳遞FDArmstrong公理系統(tǒng)鍵 key 兩個(gè)算法 屬性集的閉包計(jì)算關(guān)鍵字的計(jì)算10 2 2與函數(shù)依賴有關(guān)的范式范式 1NF 2NF 3NF BCNF Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 22 10 2 1函數(shù)依賴 在一個(gè)關(guān)系模式R U 中 如果一部分屬性Y的取值依賴于另一部分屬性X的取值 則在屬性集X和屬性集Y之間存在著一種數(shù)據(jù)依賴關(guān)系 我們稱之為函數(shù)依賴 例1 在學(xué)生關(guān)系模式Student SNO Sname Sdept Sage 中就存在下面的幾組依賴關(guān)系 Sname 的取值依賴于 SNO 的取值 Sdept 的取值依賴于 SNO 的取值 Sage 的取值依賴于 SNO 的取值例2 在選課關(guān)系模式SC SNO CNO Grade 中 Grade 的取值依賴于 SNO CNO 的取值 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 23 10 2 1函數(shù)依賴 定義 函數(shù)依賴 決定子 Determinant 設(shè)有關(guān)系模式R 其中U是屬性集 A B是U的子集 若對(duì)于關(guān)系模式R U 的任一關(guān)系實(shí)例r中的任兩個(gè)元組t和s t A s A t B s B 成立 則稱B函數(shù)依賴于A或A函數(shù)決定B 記為 A B A稱為決定子 亦可記為 A1 A2 An B1 B2 Bm Ai Bj為單個(gè)屬性 注 A不函數(shù)決定B 記為A B 若A B B A 則稱一一對(duì)應(yīng) 記為AB Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 24 10 2 1函數(shù)依賴 分裂 合并規(guī)則 TheSplitting CombiningRule X1 X2 Xn Y1 Y2 YmX1 X2 Xn Y1 X1 X2 Xn Ym Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 25 10 2 1函數(shù)依賴 函數(shù)依賴是語義范疇上的概念 只有根據(jù)屬性間固有的語義聯(lián)系才能歸納出與客觀事實(shí)相符合的函數(shù)依賴關(guān)系 而不是僅從現(xiàn)有的一個(gè)或若干個(gè)關(guān)系實(shí)例中得出的結(jié)論 特定的關(guān)系實(shí)例雖然不能用于函數(shù)依賴的發(fā)現(xiàn) 但可以用于否定某些函數(shù)依賴 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 26 10 2 1函數(shù)依賴 函數(shù)依賴反映的是同一個(gè)關(guān)系中的兩個(gè)屬性子集之間在取值上的依存關(guān)系 這種依存關(guān)系實(shí)際上也是一種數(shù)據(jù)完整性約束 因此 我們也可以通過對(duì)數(shù)據(jù)完整性約束條件的分析來尋找屬性之間的函數(shù)依賴關(guān)系 一個(gè)學(xué)生數(shù)據(jù)庫中有以下屬性 學(xué)號(hào) SNO 課程號(hào) CNO 成績(jī) G 任課教師姓名 T 教師所在系名 DEPT 這些數(shù)據(jù)具有下列語義 學(xué)號(hào)是一個(gè)學(xué)生的標(biāo)識(shí) 課程號(hào)是一門課程的標(biāo)識(shí) 這些標(biāo)識(shí)與其調(diào)表的學(xué)生和課程分別一一對(duì)應(yīng) 一位學(xué)生所修的每門課程都有一個(gè)成績(jī) 每門課程只有一位任課教師 但一位教師可以教多門課程 教師中沒有重名 每位教師只屬于一個(gè)系 有以下三個(gè)函數(shù)依賴 1 SNO CNO G2 CNO T3 T DEPT Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 27 10 2 1函數(shù)依賴 定義 平凡依賴 非平凡依賴 完全非平凡依賴設(shè)A B是某模式的兩個(gè)屬性集 對(duì)函數(shù)依賴A B 若BA 則稱此函數(shù)依賴為平凡依賴 TrivialDependency 若B A 則稱此函數(shù)依賴為非平凡依賴 NontrivialDependency 若B A 則稱此函數(shù)依賴為完全非平凡依賴 CompletelyNontrivialDependency 例 在關(guān)系SC Sno Cno Grade 中 非平凡函數(shù)依賴 Sno Cno Grade平凡函數(shù)依賴 Sno Cno Sno Sno Cno Cno對(duì)于任一關(guān)系模式 平凡函數(shù)依賴都是必然成立的 它不反映新的語義 因此若不特別聲明 我們總是討論非平凡函數(shù)依賴 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 28 10 2 1函數(shù)依賴 平凡依賴規(guī)則 TheTrivial dependencyRule A BA B A 定義 完全依賴 部分依賴設(shè)A B是某模式的兩個(gè)不同屬性集 若有A B 且不存在CA 使C B 則稱A B為完全依賴 FullDependency 記為 AB 否則稱為部分依賴 PartialDependency 記為 AB 例 在關(guān)系SC Sno Cno Grade 中 由于 Sno Grade Cno Grade 因此 Sno Cno Grade Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 29 10 2 1函數(shù)依賴 定義 傳遞依賴A B C是某模式的三個(gè)不同屬性集 若有 A B B A B C 則稱C傳遞函數(shù)依賴于A 記為 AC 為了使得函數(shù)依賴在表示形式上的簡(jiǎn)單化 傳遞函數(shù)依賴與非傳遞函數(shù)依賴在表示形式上沒有區(qū)別 傳遞規(guī)則 TheTransitiveRule A B B CA C 例 在關(guān)系Std Sno Sdept Deanname 中 有 Sno Sdept Sdept Deanname 所以 Deanname傳遞函數(shù)依賴于Sno 即Sno Deanname Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 30 10 2 2范式 回顧概念鍵 key 在關(guān)系模式R U 中 如有K U且滿足 K U 則K稱為R的一個(gè)侯選鍵 CandidateKey 簡(jiǎn)稱鍵 也就是說 決定性 這個(gè)屬性 組 K的值唯一地決定了其他屬性的值 因而也決定了整個(gè)元組 最小性條件 這個(gè)屬性 組 K的任何真子集均不滿足決定性條件 主鍵 PrimaryKey 在關(guān)系模式機(jī)器實(shí)現(xiàn)時(shí) 若關(guān)系模式R有多個(gè)候選碼 則選定其中的一個(gè)做為主鍵 其他鍵稱為候補(bǔ)鍵 AlternateKey 超鍵 Superkey 關(guān)系模式中包含鍵的屬性 組 稱為超鍵 全鍵 allkey 主鍵是由所有的屬性構(gòu)成的 這稱為全鍵 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 31 10 2 2范式 回顧概念 cont 主屬性 集 由關(guān)系模式R的所有鍵中的屬性所構(gòu)成的集合被稱為關(guān)系模式R的主屬性集 主屬性集中的屬性被稱為關(guān)系模式R的主屬性 非主屬性 集 由主屬性集之外的其它屬性所構(gòu)成的集合被稱為關(guān)系模式R的非主屬性集 非主屬性集中的屬性被稱為關(guān)系模式R的非主屬性 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 32 10 2 2范式 范式是符合某一種級(jí)別的關(guān)系模式的集合 關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求 滿足不同程度要求的為不同范式 范式的種類 第一范式 1NF 第二范式 2NF 第三范式 3NF BC范式 BCNF 第四范式 4NF 第五范式 5NF 各種范式之間存在聯(lián)系 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 33 10 2 2范式 定義 1NF設(shè)有一個(gè)關(guān)系模式R 若R的任一關(guān)系實(shí)例r中的屬性值均是原子數(shù)據(jù) 屬性都是不可分的基本數(shù)據(jù)項(xiàng) 則稱R屬于1NF 記為R 1NF 注1NF條件是傳統(tǒng)關(guān)系數(shù)據(jù)庫系統(tǒng)的基本要求 目前大多數(shù)RDBMS均要求如此 但是滿足第一范式的關(guān)系模式并不一定是一個(gè)好的關(guān)系模式 突破這一條件稱非第一范式 non firstnormalform NF2 條件 E R中的非原子屬性在轉(zhuǎn)化為關(guān)系時(shí)要這樣處理 對(duì)集合屬性 縱向展開對(duì)元組屬性 橫向展開 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 34 10 2 2范式 定義 2NF設(shè)有一個(gè)關(guān)系模式R 1NF 若R的每個(gè)非主屬性均完全函數(shù)依賴于鍵 則稱R屬于2NF 記為R 2NF 注A R 2NFR 1NFB 考察R SNO CNO G T DEPT 1NF 因SNO CNO G CNO T T DEPTCNO DEPTCNO T DEPT故Key SNO CNO 但KeyT DEPT 故R 2NF Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 35 10 2 2范式 R SNO CNO G T DEPT 不是一個(gè)好的關(guān)系模式數(shù)據(jù)冗余度大插入異常刪除異常更新復(fù)雜原因T DEPT部分函數(shù)依賴于鍵 SNO CNO Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 36 10 2 2范式 解決方法模式分解 消除這些部分函數(shù)依賴R1 SNO CNO G 2NF R2 CNO T DEPT 2NF 但R2仍有問題 c01t1d1c02t1d1冗余c03t1d1c04t2d2原因 Key CNO 因T DEPT 而T非超鍵 DEPT又非主屬性 采用投影分解法將一個(gè)1NF的關(guān)系分解為多個(gè)2NF的關(guān)系 可以在一定程度上減輕原1NF關(guān)系中存在的插入異常 刪除異常 數(shù)據(jù)冗余度大 修改復(fù)雜等問題 將一個(gè)1NF關(guān)系分解為多個(gè)2NF的關(guān)系 并不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 37 10 2 2范式 定義 3NF設(shè)有一個(gè)關(guān)系模式R 1NF 若R的任一非平凡函數(shù)依賴X A滿足下列兩個(gè)條件之一 1 X是超鍵 2 A是主屬性 則稱R屬于3NF 記為R 3NF 注A 若R 3NF 意味著 A非主屬性 X又非超鍵 1 X是鍵的真子集 非主屬性A部分依賴于鍵 2 X既非超鍵又非鍵的真子集 Key X X AKey A 即 非主屬性A傳遞依賴于鍵 故3NF消除了非主屬性對(duì)鍵的部分依賴和傳遞依賴 B R 3NFR 2NF t Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 38 10 2 2范式 例 將關(guān)系模式R SNO CNO G T DEPT 分解得到R1 SNO CNO G 2NF R2 CNO T DEPT 2NF 由于關(guān)系模式R2中存在非主屬性DEPT對(duì)鍵的傳遞依賴 所以采用投影分解法 把R2分解為兩個(gè)關(guān)系模式 以消除傳遞函數(shù)依賴 R21 CNO T 3NF R22 T DEPT 3NF 即CNO T T DEPT Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 39 10 2 2范式 若R 3NF 則R的每一個(gè)非主屬性既不部分函數(shù)依賴于候選鍵也不傳遞函數(shù)依賴于鍵 采用投影分解法將一個(gè)2NF的關(guān)系分解為多個(gè)3NF的關(guān)系 可以在一定程度上解決原2NF關(guān)系中存在的插入異常 刪除異常 數(shù)據(jù)冗余度大 修改復(fù)雜等問題 將一個(gè)2NF關(guān)系分解為多個(gè)3NF的關(guān)系后 并不能完全消除關(guān)系模式中的各種異常情況和數(shù)據(jù)冗余 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 40 10 2 2范式 定義 BCNF設(shè)有一個(gè)關(guān)系模式R 1NF 若R的任一非平凡函數(shù)依賴X A滿足下列條件 決定子X必是超鍵 則稱R屬于BCNF 記為R BCNF 注 A R BCNFR 3NF B BCNF消除了 非主 主 屬性對(duì)鍵的部分依賴和傳遞依賴 C 關(guān)系模式達(dá)到BCNF后 在函數(shù)依賴范疇內(nèi)已徹底規(guī)范化了 并消除了冗余和異常 D 任何全鍵關(guān)系模式必屬于BCNFE 任何兩屬性關(guān)系模式必屬于BCNFF 關(guān)系模式無損分解成BCNF的策略 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 41 10 2 2范式 D 任何全鍵關(guān)系模式必屬于BCNF證明 設(shè)R A1 A2 An 是全鍵關(guān)系模式 即Key A1 A2 An 反證法 假設(shè)R BCNF 則必存在一非平凡函數(shù)依賴X Ai 而決定子X不是超鍵 注意 X A1 A2 An Ai X X A1 A2 An Ai A1 A2 Ai 1 Ai 1 An 故Key A1 A2 Ai 1 Ai 1 An 這與全鍵的條件矛盾 命題得證 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 42 10 2 2范式 E 任何兩屬性關(guān)系模式必屬于BCNF證明 設(shè)R A1 A2 是兩屬性關(guān)系模式 則有4種非平凡函數(shù)依賴的情形 1 無任何非平凡的函數(shù)依賴 無冒犯BCNF條件的函數(shù)依賴或R是全鍵 故R BCNF 2 A1A2 但A2A1 Key A1 唯一的決定子A1是超鍵 故R BCNF 3 A2A1 但A1A2 Key A2 唯一的決定子A2是超鍵 故R BCNF 4 A1A2 且A2A1 Key1 A1 Key2 A2 兩個(gè)決定子均是超鍵 故R BCNF Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 43 10 2 2范式 F 關(guān)系模式無損分解成BCNF的策略 啟發(fā)式算法設(shè)關(guān)系模式R XAB X A B均是R的屬性 子集 1 針對(duì)冒犯BCNF條件的某個(gè)非平凡函數(shù)依賴 XA X非超鍵 分解成兩個(gè)模式 R1 XA R2 BX 一般地 R1 BCNF R2 BCNF 2 對(duì)不屬于BCNF的模式R2 和R1 重復(fù)步驟 1 直到全部屬于BCNF為止 Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 44 10 2 2范式 例 M title year length color star star gender star add studio studio add studio class 根據(jù)通常的語義 有以下函數(shù)依賴 1 star star gender star add 2 studio studio add studio class 3 title year length color studio故Key title year star 因式 1 2 3 均冒犯BCNF條件 故M BCNF Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 45 10 2 2范式 模式分解對(duì)式 1 將M分解成 STAR star star gender star add BCNFM1 title year length color studio studio add studio class star 因M1的Key未變 且式 2 3 仍成立 故M1 BCNF 對(duì)式 2 將M1分解成 STUDIO studio studio add studio class BCNFM2 title year length color star studio 因M2的Key未變 且式 3 仍成立 故M2 BCNF 對(duì)式 3 將M2分解成 MOVIE title year length color studio BCNFSTARS IN title year star BCNF 全鍵關(guān)系模式 故 將M規(guī)范化成BCNF的一個(gè)無損分解為 STAR STUDIO MOVIE STARS IN Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論 46 關(guān)系模式規(guī)范化的基本步驟 關(guān)系模式規(guī)范化的基本步驟1NF 消除非主屬性對(duì)鍵的部分函數(shù)依賴2NF 消除非主屬性對(duì)鍵的傳遞函數(shù)依賴3NF 消除主屬性對(duì)鍵部分和傳遞函數(shù)依賴BCNF Lastupdate Dec 2008 LectureNotes PrinciplesofDatabasesSystems ByZhuomingXu第1部分?jǐn)?shù)據(jù)庫系統(tǒng)引論
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- ICE系列培訓(xùn)三:深入了解佩蘇達(dá)·坑孔伽
- 創(chuàng)業(yè)培訓(xùn)講座課件
- 江蘇省淮安市2024-2025學(xué)年高二下學(xué)期期末調(diào)研測(cè)試語文試題(含答案)
- 幼兒音樂游戲培訓(xùn)
- 職業(yè)化 培訓(xùn)課件
- 分級(jí)閱讀活動(dòng)培訓(xùn)
- 幼兒支氣管炎病例討論
- 綜合活動(dòng)我真棒
- 助殘日活動(dòng)宣傳策劃方案
- 施工現(xiàn)場(chǎng)臨邊防護(hù)培訓(xùn)
- 2025秋三年級(jí)上冊(cè)語文上課課件 9 犟龜
- 石灰廠中控室管理制度
- 中外航海文化知到課后答案智慧樹章節(jié)測(cè)試答案2025年春中國(guó)人民解放軍海軍大連艦艇學(xué)院
- 國(guó)家開放大學(xué)《中國(guó)法律史》形考任務(wù)1-3答案
- 山東省濟(jì)南市(2024年-2025年小學(xué)四年級(jí)語文)人教版期末考試((上下)學(xué)期)試卷及答案
- 人工智能引論智慧樹知到課后章節(jié)答案2023年下浙江大學(xué)
- 閥體零件機(jī)械加工工藝及裝備設(shè)計(jì)
- LD型單梁起重機(jī)使用說明書
- 國(guó)家開放大學(xué)電大《生產(chǎn)與運(yùn)作管理》論述分析計(jì)算題題庫及答案
- 實(shí)習(xí)生推薦信
- 內(nèi)蒙古自治區(qū)公路工程施工企業(yè)信用評(píng)價(jià)管理實(shí)施細(xì)則
評(píng)論
0/150
提交評(píng)論