阿摩線上測驗 登入

申論題資訊

試卷:110年 - 110 中華郵政股份有限公司_職階人員甄試試題_營運職/資料庫管理:資料庫系統規劃、開發與實務#106511
科目:資料庫系統規劃、開發與實務
年份:110年
排序:0

題組內容

第一題:
在資料表規劃過程中,常須施以“正規化”(normalization)以降低資料重複性以及避免資料
更新異常現象。假設某資料表屬性欄位(A ~ J)間,存在的功能相依性(functional dependency,
FD)如下列四項,請回答下列問題:
1. C → {B}
2. G → {H, J}
3. A → {E, F, I}
4. A+B → {C, D, E, F, G, H, I, J}

(二)承第(一)小題,執行正規化程序,使分解後各表可滿足“第三正規化格式”(3NF)。
【8 分】

申論題內容

(一)請依上列 FD 執行正規化,使分解後各表可滿足“第二正規化格式”(2NF)。【8 分】

詳解 (共 1 筆)

詳解 提供者:hchungw

要將資料表分解到第三正規化形式(3NF),我們首先需要了解資料表的所有功能相依性,然後逐步分解資料表,直到所有表格都滿足3NF的條件。3NF的主要條件包括:

  1. 所有非主鍵屬性都完全依賴於主鍵。
  2. 不存在非主鍵屬性對於另一個非主鍵屬性的傳遞依賴。

我們從給定的功能相依性出發,執行以下步驟:

  1. 找出候選鍵: 根據給定的功能相依性,我們可以推斷出候選鍵:

    • 從 A+B 可以導出所有屬性,因此 A+B 是候選鍵。
  2. 找出分解: 根據功能相依性,我們可以將資料表分解如下:

    • 分解1:依據 C → B
      • ?1(?,?)R1(C,B)
      • ?1R1 的主鍵是 C
    • 分解2:依據 G → H, J
      • ?2(?,?,?)R2(G,H,J)
      • ?2R2 的主鍵是 G
    • 分解3:依據 A → E, F, I
      • ?3(?,?,?,?)R3(A,E,F,I)
      • ?3R3 的主鍵是 A
    • 分解4:依據 A + B → C, D, E, F, G, H, I, J
      • ?4(?,?,?,?,?,?,?,?,?,?)R4(A,B,C,D,E,F,G,H,I,J)
      • 由於 A+B 是候選鍵,因此 R4 是包含所有屬性的主表,且 R4 的主鍵是 A+B
  3. 檢查和分解以滿足3NF

    • 檢查各個表格是否滿足3NF。

    • ?1(?,?)R1(C,B)

      • 主鍵是 C,B 完全依賴於 C,滿足3NF。
    • ?2(?,?,?)R2(G,H,J)

      • 主鍵是 G,H 和 J 完全依賴於 G,滿足3NF。
    • ?3(?,?,?,?)R3(A,E,F,I)

      • 主鍵是 A,E,F,I 完全依賴於 A,滿足3NF。
    • ?4(?,?,?,?,?,?,?,?,?,?)R4(A,B,C,D,E,F,G,H,I,J)

      • ?4R4 目前不滿足3NF,因為非主鍵屬性有部分依賴和傳遞依賴。
    • ?4R4 進一步分解:

      • ?4?(?,?,?,?,?)R4a(A,B,C,D,G)
      • ?4?(?,?,?,?)R4b(A,E,F,I)(與 R3 重複,忽略)
      • ?4?(?,?,?)R4c(G,H,J)(與 R2 重複,忽略)

    最終分解後的表格如下:

    1. ?1(?,?)R1(C,B)
    2. ?2(?,?,?)R2(G,H,J)
    3. ?3(?,?,?,?)R3(A,E,F,I)
    4. ?4?(?,?,?,?,?)R4a(A,B,C,D,G)

這樣,我們得到了滿足3NF的分解方案。