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