建立冗余少、結構合理、易維護的關聯式資料庫。範式是設計規範的總結。
規則:所有欄位值皆為不可分割的原子值。
| 違反 1NF | 符合 1NF |
|---|---|
|
用戶表 ID | 姓名 | 地址 1 | 張三 | 台灣台北市信義區信義路五段7號 |
用戶表 ID | 姓名 | 省份 | 城市 | 區 | 詳細地址 1 | 張三 | 台灣 | 台北市 | 信義區 | 信義路五段7號 |
判斷標準:系統是否需要單獨查詢/統計「城市」?若是,必須拆分滿足 1NF。

規則:每個非主鍵欄位必須完全函數相依於整個主鍵,而非部分主鍵。
主鍵:(訂單編號, 商品編號)
| 訂單編號 | 商品編號 | 商品名稱 | 單位 | 單價 | 數量 |
|---|---|---|---|---|---|
| O001 | P01 | 筆記本 | 本 | 50 | 2 |
| O001 | P02 | 滑鼠 | 個 | 300 | 1 |
問題:商品名稱、單位、單價只相依於「商品編號」(部分主鍵),導致資料冗余、更新異常。
| 商品資訊表 | 訂單明細表 |
|---|---|
|
商品編號(PK) | 商品名稱 | 單位 | 單價 P01 | 筆記本 | 本 | 50 P02 | 滑鼠 | 個 | 300 |
訂單編號(FK) | 商品編號(FK) | 數量 O001 | P01 | 2 O001 | P02 | 1 |


規則:非主鍵欄位必須直接相依於主鍵,不可間接相依(A→B→C)。
| 訂單編號 | 客戶編號 | 客戶姓名 | 所屬公司 | 金額 |
|---|---|---|---|---|
| O001 | C01 | 王小明 | ABC公司 | 5000 |
問題:客戶姓名、公司相依於「客戶編號」,而非「訂單編號」(傳遞相依)。
| 客戶資訊表 | 訂單表 |
|---|---|
|
客戶編號(PK) | 客戶姓名 | 所屬公司 C01 | 王小明 | ABC公司 |
訂單編號(PK) | 客戶編號(FK) | 金額 O001 | C01 | 5000 |
