關係型資料庫的設計理論(異常、函式依賴、正規化)
阿新 • • 發佈:2018-10-31
文章目錄
異常
- 資料冗餘大:某個屬性的值重複次數過多
- 插入異常:沒有主鍵屬性的時候,其他屬性無法插入
- 刪除異常:因刪除某個屬性所在的行而連帶徹底刪除了某些其他屬性
- 更新異常:屬性的某個值發生改變時,因處理不當而沒有完成該值對應的所有元組的修改
函式依賴
- 資料依賴: 同一個關係中,屬性間的相互依賴和相互制約。包括函式依賴、多值依賴、連線依賴。
- 函式依賴: 指屬性或屬性之間一一對應的關係。關係R(U)是屬性集U上的關係模式,X,Y時U的子集。若對於R(U)上任意關係r的任意兩個元組,X相同則Y必相同(X可以決定Y),則稱X
函式確定
函式依賴
於X函式,記作:X→Y。X叫做決定因素
,Y叫做依賴因素
。- 平凡的函式依賴
X→Y,其中,Y是X的子集。(必定成立) - 非平凡的函式依賴
X→Y,且Y不是X的子集。不特別宣告,總是討論非平凡依賴。 - 完全函式依賴和部分函式依賴
對於 X→Y,如果能找到 X 的真子集 X’,使得 X’→ Y,那麼 X->Y 就是部分函式依賴
,否則就是完全函式依賴
。 - 傳遞函式依賴
如果X→Y,Y不是X的子集,Y→X不成立(為了排除直接X函式決定Z),Y→Z,則稱Z對X傳遞函式依賴
。
- 平凡的函式依賴
正規化
- 概念
- 第一正規化(1NF):
屬性
的,不可再分
。這個單一屬性由基本型別構成,包括整型、實數、字元型、邏輯型、日期型等。(不滿足第一正規化的不是關係模式
) - 第二正規化(2NF): 在第一正規化的基礎上,資料表中
所有非關鍵欄位
都完全依賴
於任意
一組候選關鍵字
。 - 第三正規化(3NF): 在第二正規化的基礎上,資料表中
所有非關鍵欄位
都不傳遞依賴
於任意
一組候選關鍵字
。(一般企業都要求滿足
) - BCNF正規化:也叫作擴充的第三正規化,或修正的第三正規化。消除了插入和刪除異常。
- 第一正規化(1NF):