第5章 關系模式設計
5.1 關系模式設計問題
泛模式:用一個大表存放所有的數據
泛模式存在的問題
數據冗余
操作異常
更新異常
插入異常
刪除異常
泛模式分解:分解為若干個模式后,可使每個模式概念單一,數據模型結構合理。
5.2 函數依賴
5.2.1 函數依賴的定義
X→Y:X函數決定Y或Y函數依賴于X,“X→Y”為模式R的一個函數依賴
函數依賴是它所表示的事物性質的相關性與設計者進行強制的一種結合
5.2.2 函數依賴的邏輯蘊涵定義
X→Y為F的邏輯蘊涵(或F邏輯蘊涵X→Y):表示從F中可以推導出X→Y。
F的閉包:F邏輯蘊涵的全體函數依賴構成一個集合
5.2.3 函數依賴的推理規則
函數依賴的公理:自反律、增廣律、傳遞律
5.2.4 屬性集的閉包
一個函數依賴X→Y的充分必要條件是Y?X+
5.2.5 函數依賴推理規則的完備性
函數依賴推理規則體系是完備的
5.2.6 函數依賴集的等價和最小函數依賴集
兩個函數依賴集等價,也可以稱為覆蓋。
任何函數依賴集都有最小覆蓋
5.3 關系模式的分解
5.3.1 分解關系模式出現的問題
分解是否具有無損連接
分解是否保持了函數依賴
5.3.2 無損連接分解
5.3.3 保持函數依賴分解
關系模式R上的函數依賴集F在分解后仍在數據庫模式中保持不變
5.4 關系模式的范式
5.4.1 幾個概念
主屬性
非主屬性
部分依賴
完全依賴
傳遞依賴
5.4.2 第1范式(1NF)
關系中的每個元組分量必須是原子的,即元組中的每個屬性值是不可再分解的
任何規范關系都必須遵守的最低要求
5.4.3 第2范式(2NF)
關系中的每個非主屬性都完全依賴于某個候選關鍵字
5.4.4 第3范式(3NF)
關系中的每個非主屬性都不傳遞依賴于羬綿某個候選關鍵字
5.4.5 Boyce-Codd范式(BCNF)
關系中的每個函數依賴X→Y,必有X是關系的超關鍵字
5.4.8 多值依賴(Multivalued Dependency,MVD)
關系中屬性值之間的一對多關系
性質:
多值依賴具有對稱性質
函數依賴是多值依賴的一種特殊情況
存在平凡的多值依賴
5.4.9 第4范式(4NF)
關系中每個非平凡的多值依賴X→→Y,必有X是關系的超關鍵字
5.4.10 關系模式設計的基本原則
等價性
無論對一個模式進行分解或模式間進行連接,都要做到數據等價和依賴等價
分離性
一個模式表達一個語義概念。
分離的基準就是一系列的范式。
最小冗余性
在保證正確性的前提下清除不必要的冗余,其目的是從時空兩個方面提高效率。
備注:
《數據庫技術基礎與應用(第2版)》的豆瓣鏈接https://book.douban.com/subject/2995584/