---
# System prepended metadata

title: 正規化

---

# 正規化
原始表格
![](https://i.imgur.com/MsUJiVn.png)


## 第一正歸化 1NF
![](https://i.imgur.com/vKH9ejW.png)

1. 一個格子只能塞一個值
2. 每個column底下的值要是相同type
3. 每個row要是unique的 (不能有重複的row)

1NF 正規化:
![](https://i.imgur.com/jLo24Rg.png)


## 第二正歸化 2NF
![](https://i.imgur.com/VSrKegk.png)

第二正規化要求所有的attribute要dependent on key。
如上面圖，Cust ID能是Price的代表嗎? 不行! 理論上Price是跟遊戲主機(Item)息息相關的，所以把他給拉出來。

接著要讓兩個拉出來的表關聯起來

![](https://i.imgur.com/Ujf7RyM.png)

## 第三正規化 3NF
第三正規化要求所有的attribute要**only** depend on Key。也就是我的attribute只能由Key值決定，不能由其他值絕定 (也就是attribute之間不能有1對1關係 如下)

![](https://i.imgur.com/OvC5ltN.png)
Supplier 與 Supplier Number 1對1了，我們要把她分開。

![](https://i.imgur.com/2HgdPpB.png)
