阿摩線上測驗 登入

申論題資訊

試卷:112年 - 112 國家安全情報特種考試_三等_資訊組(選試英文):資料庫應用#114834
科目:公職◆資料庫應用
年份:112年
排序:0

申論題內容

三、在關聯式資料庫(Relational Database)的正規化理論(Normalization Theory)中,請分別說明將資料表(Table)轉換為第一正規型式(First Normal Form)、第二正規型式(Second Normal Form)與第三正規型式(Third Normal Form)的過程。(30 分)

詳解 (共 1 筆)

詳解 提供者:hchungw

在關聯式資料庫的正規化理論中,正規化(Normalization)是一種將資料庫設計成一組滿足一定約束條件的表(Tables),以消除冗餘數據和避免數據異常的過程。正規化過程包括將資料表轉換為不同的正規型式(Normal Forms)。以下是將資料表轉換為第一正規型式(1NF)、第二正規型式(2NF)和第三正規型式(3NF)的過程說明。

第一正規型式(First Normal Form, 1NF)

定義: 一個資料表若滿足1NF,則其每個欄位(字段)都應該只包含原子值(即每個欄位的值是不可再分的)。

轉換過程

  1. 確保每個欄位只包含一個值,而不是一組值或重複的欄位。
  2. 消除重複的欄位,將重複的值分開成不同的記錄。

示例: 假設有一個未正規化的學生課程表:

學生ID 學生姓名 課程
1 王小明 數學, 英文
2 李大華 化學
3 張小英 數學, 物理

轉換為1NF:

學生ID 學生姓名 課程
1 王小明 數學
1 王小明 英文
2 李大華 化學
3 張小英 數學
3 張小英 物理

第二正規型式(Second Normal Form, 2NF)

定義: 一個資料表若滿足2NF,則其首先必須滿足1NF,並且每個非主鍵欄位都必須完全依賴於主鍵(即沒有部分依賴)。

轉換過程

  1. 將表拆分成多個子表,使得每個非主鍵欄位都完全依賴於主鍵。
  2. 消除部分依賴。

示例: 假設有一個1NF的學生課程表:

學生ID 學生姓名 課程ID 課程名稱
1 王小明 C1 數學
1 王小明 C2 英文
2 李大華 C3 化學
3 張小英 C1 數學
3 張小英 C4 物理

在這個表中,「學生姓名」部分依賴於「學生ID」,「課程名稱」部分依賴於「課程ID」。

轉換為2NF:

學生表:

學生ID 學生姓名
1 王小明
2 李大華
3 張小英

課程表:

課程ID 課程名稱
C1 數學
C2 英文
C3 化學
C4 物理

學生課程關係表:

學生ID 課程ID
1 C1
1 C2
2 C3
3 C1
3 C4

第三正規型式(Third Normal Form, 3NF)

定義: 一個資料表若滿足3NF,則其首先必須滿足2NF,並且所有非主鍵欄位都必須直接依賴於主鍵(即沒有傳遞依賴)。

轉換過程

  1. 將表拆分成多個子表,使得每個非主鍵欄位都直接依賴於主鍵。
  2. 消除傳遞依賴。

示例: 假設有一個2NF的學生註冊表:

學生ID 學生姓名 課程ID 課程名稱 教授ID 教授姓名
1 王小明 C1 數學 P1 李教授
1 王小明 C2 英文 P2 張教授
2 李大華 C3 化學 P3 王教授
3 張小英 C1 數學 P1 李教授
3 張小英 C4 物理 P4 陳教授

在這個表中,「教授姓名」傳遞依賴於「教授ID」。

轉換為3NF:

學生表:

學生ID 學生姓名
1 王小明
2 李大華
3 張小英

課程表:

課程ID 課程名稱 教授ID
C1 數學 P1
C2 英文 P2
C3 化學 P3
C4 物理 P4

教授表:

教授ID 教授姓名
P1 李教授
P2 張教授
P3 王教授
P4 陳教授

學生課程關係表:

學生ID 課程ID
1 C1
1 C2
2 C3
3 C1
3 C4