易學筆記-系統分析師考試-第5章 資料庫系統/5.2 資料模型/5.2.3 規範化理論
阿新 • • 發佈:2018-11-24
- 錯誤關係模式舉例:關係模式R(學生姓名,選修的課程名,任課老師,任課老師地址)
- 資料冗餘:不同學生的任課老師資料可能重複
- 修改異常:修改了一個一條記錄的任課老師地址後,其它同一個老師的地址都要修改
- 插入異常:如果不知道學生姓名,那麼任課老師的資訊就無法插入資料庫
- 刪除異常:刪除了一個學生資訊後,任課老師的資訊也會被刪除
- 函式依賴與鍵
- X函式決定Y:
- 如果R(U)是屬性U上的一個關係模式,X和Y是U的子集(也即是X和Y是欄位子集),對於任意的u[X]=v[X]都有u[Y]=v[Y]
- 舉例:
- 完全函式依賴:在R(U)中,如果X→ Y,並且對於X的任意真子集Xn,都有Xn→ Y不成立,則Y對X完全函式依賴
- 部分函式依賴:在R(U)中,如果X→ Y,並且對於X的任意真子集Xn,可能Xn→ Y成立,則Y對X不完全函式依賴
- 鍵(關鍵字)
- 候選鍵: 在R(U)中,如果X→ U,並且對於X的任意真子集Xn,都有Xn→ U不成立,則U對X完全函式依賴,則稱X為R的一個候選鍵
- 主鍵:使用者正在使用的候選鍵叫做主鍵
- 外來鍵:如果兩個關係擁有公共屬性,並且公共屬性是一個關係的主鍵,則稱公共屬性為另外一個鍵的外來鍵
- 舉例:
- 使用圖示法求候選鍵
- 兩個步驟
- 用關係模式的函式依賴關係用有向圖表示,其中頂點表示屬性,弧表示屬性之間的依賴關係
- 找出入度為0的屬性集,並以該屬性集作為起點,如果能遍歷完所有的節點,則表示該頂點為候選鍵;如果不能則繼續合併其它頂點到屬性集中再次遍歷
- 舉例:
- 兩個步驟
- 正規化(NF:Normal Form)
- 第一正規化(1NF)
- 概念: 如果關係模式R中,如果一個分量不可再分為其它資料項,則稱R滿足1NF
- 舉例:
- 第二正規化(2NF)
- 概念:如果關係模式R中,再滿足1NF基礎上,如果每個非鍵屬性完全依賴於候選鍵時,則稱R滿足2NF
- 舉例:
- 第三正規化(3NF)
- 概念: 如果關係模式R中,再滿足2NF基礎上,如果R中沒有非鍵屬性傳遞依賴於候選鍵,則稱R滿足3NF
- 舉例:
- BCNF
- 概念: 如果關係模式R中,再滿足1NF基礎上,如果R中沒有屬性傳遞依賴於候選鍵,則稱R滿足BCNF
- 判斷方法
- 找出所有候選鍵
- 所有的非鍵屬性對於任何候選鍵都是完全依賴
- 所有的候選鍵對每一個不包含它的候選鍵都是完全依賴
- 每一個函式依賴的左邊都必須包含候選鍵
- 舉例:
第四正規化(4NF)
多值依賴:對於關係R(U,F),X,Y是U的非空子集,Z = U- X - Y,Z也非空,從x∈X,z∈Z取值,如果(x,z)能決定y屬於Y,並且這個決定與z無關,則稱為Y多值依賴於X,記為X→ → Y
如果關係模式R中,在滿足1NF基礎上,若對於任何X→ → Y,X必包含R的候選鍵,則稱R滿足4NF
全碼關係:如果關係R(U)中所有屬性合在一起形成主鍵則稱為全碼關係
舉例:
- 關係模式分解
概念:將一個大的關係模式分解為小的關係模式
分解時考慮因素
函式保持依賴
是否無損聯接