1. 程式人生 > >易學筆記-系統分析師考試-第5章 資料庫系統/5.2 資料模型/5.2.3 規範化理論

易學筆記-系統分析師考試-第5章 資料庫系統/5.2 資料模型/5.2.3 規範化理論

  • 錯誤關係模式舉例:關係模式R(學生姓名,選修的課程名,任課老師,任課老師地址)
  1. 資料冗餘:不同學生的任課老師資料可能重複
  2. 修改異常:修改了一個一條記錄的任課老師地址後,其它同一個老師的地址都要修改
  3. 插入異常:如果不知道學生姓名,那麼任課老師的資訊就無法插入資料庫
  4. 刪除異常:刪除了一個學生資訊後,任課老師的資訊也會被刪除
  • 函式依賴與鍵
  1. X函式決定Y:
    1. 如果R(U)是屬性U上的一個關係模式,X和Y是U的子集(也即是X和Y是欄位子集),對於任意的u[X]=v[X]都有u[Y]=v[Y]
    2. 舉例:
    3. 完全函式依賴:在R(U)中,如果X→ Y,並且對於X的任意真子集Xn,都有Xn→ Y不成立,則Y對X完全函式依賴
    4. 部分函式依賴:在R(U)中,如果X→ Y,並且對於X的任意真子集Xn,可能Xn→ Y成立,則Y對X不完全函式依賴
  • 鍵(關鍵字)
  1. 候選鍵: 在R(U)中,如果X→ U,並且對於X的任意真子集Xn,都有Xn→ U不成立,則U對X完全函式依賴,則稱X為R的一個候選鍵
  2. 主鍵:使用者正在使用的候選鍵叫做主鍵
  3. 外來鍵:如果兩個關係擁有公共屬性,並且公共屬性是一個關係的主鍵,則稱公共屬性為另外一個鍵的外來鍵
  4. 舉例:
  5. 使用圖示法求候選鍵
    1. 兩個步驟
      1. 用關係模式的函式依賴關係用有向圖表示,其中頂點表示屬性,弧表示屬性之間的依賴關係
      2. 找出入度為0的屬性集,並以該屬性集作為起點,如果能遍歷完所有的節點,則表示該頂點為候選鍵;如果不能則繼續合併其它頂點到屬性集中再次遍歷
      3. 舉例:
  • 正規化(NF:Normal Form)
  1. 第一正規化(1NF)
    1. 概念: 如果關係模式R中,如果一個分量不可再分為其它資料項,則稱R滿足1NF
    2. 舉例:
  2. 第二正規化(2NF)
    1. 概念:如果關係模式R中,再滿足1NF基礎上,如果每個非鍵屬性完全依賴於候選鍵時,則稱R滿足2NF
    2. 舉例:
  3. 第三正規化(3NF)
    1. 概念: 如果關係模式R中,再滿足2NF基礎上,如果R中沒有非鍵屬性傳遞依賴於候選鍵,則稱R滿足3NF
    2. 舉例:
  4. BCNF
    1. 概念: 如果關係模式R中,再滿足1NF基礎上,如果R中沒有屬性傳遞依賴於候選鍵,則稱R滿足BCNF 
    2. 判斷方法
      1. 找出所有候選鍵
      2. 所有的非鍵屬性對於任何候選鍵都是完全依賴
      3. 所有的候選鍵對每一個不包含它的候選鍵都是完全依賴
      4. 每一個函式依賴的左邊都必須包含候選鍵
    3. 舉例:

 

第四正規化(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)中所有屬性合在一起形成主鍵則稱為全碼關係

舉例:

  • 關係模式分解

概念:將一個大的關係模式分解為小的關係模式

分解時考慮因素

函式保持依賴

是否無損聯接