有關於正規化之前一直都搞不太清楚 上完課之後比較了解了
正規化的目的
1. 消除重複性資料
2. 維持資料的一致性
第一正規化
1.資料必須是二維
2.每個欄位只能有單一值
3.去除重覆群組(Repeating Group)
4.去除重覆的值(Multi Value)
第二正規化
1.符合第一正規化
2.非鍵值屬性必須完全相依於所有鍵值
第三正規化
1.符合第二正規化
2.非鍵值屬性之間不能存在相依性
第一正規化:建立資料庫基本的長相(Shape)
第二正規化:去除部分相依(Partial Functional Dependency)
第三正規化:去除遞移相依(Transitive Dependency)
出貨單
*出貨單號(PK)
客戶編號
客戶名稱
客戶住址
客戶電話
出貨日期
產品編號_1
產品名稱_1
金額_1
數量_1
產品編號_2
產品名稱_2
金額_2
數量_2
產品編號_3
產品名稱_3
金額_3
數量_3
……
產品編號_10
產品名稱_10
金額_10
數量_10
出貨單
*出貨單號(PK)
客戶編號
客戶名稱
客戶住址
客戶電話
出貨日期
出貨單明細
*出貨單號(PK)
*產品編號(PK)
產品名稱
金額
數量
出貨單
*出貨單號(PK)
客戶編號
客戶名稱
客戶住址
客戶電話
出貨日期
出貨單明細
*出貨單號(PK)
*產品編號(PK)
數量
產品
*產品編號(PK)
產品名稱
金額
出貨單
*出貨單號(PK)
客戶編號(FK)
出貨日期
客戶
*客戶編號(PK)
客戶名稱
客戶住址
客戶電話
出貨單明細
*出貨單號(PK)
*產品編號(PK)
數量
產品
*產品編號(PK)
產品名稱
金額