DB 資料庫正規化(未完成) - fantasy0107/notes GitHub Wiki
目的
- 降低資料的重覆性
- 避免更新異常
精神
- 重複的欄位資料減到最少
- 快速的找到資料
- 提高關聯性資料庫的效能
流程
還沒正規化 -- (去除重複群組) -->
1NF -- (去除部分相依) -->
2NF -- (去除遞移相依) -->
3NF -- (去除其他功能相依所造成的異常) -->
BCNF
第一正規化 (1NF) - 去除重複群組
- 每一個欄位只有單一值
- 沒有任何兩筆以上的資料是完全重覆的
- 有主鍵的表則其他所有的欄位都相依於主鍵
第二正規化 (2NF) - 去除部分相依
- 符合 1NF
- 每一非鍵屬性必須完全相依於主鍵; 不可部份功能相依於主鍵
第三正規化 (3NF) - 去除遞移相依
- 符合 2NF
- 個欄位主鍵之間沒有遞移相依
- 判斷方法是從左到右掃描有沒有與主鍵無關的相依有的話移出去