正規化
正規化の目的
- データの整合性の保持
- データの冗長性の排除
- データ操作の適正化
関数従属性について
完全関数従属性
主キーの全ての項目を使って値が決定する関係
部分関数従属性
主キーの一部の項目を使って値が決定する関係
推移関数従属性
主キー以外の項目に従属する関係
第一正規形
非正規形から,繰り返し部分を排除した形
更新方法
- 非正規表に主キーを設定
- 繰り返し部分を分離
- 分離した表に主キーを設定
第二正規形
第一正規形から,部分関数従属している項目を取り除いた形
更新方法
- 主キーが複合キーの表を探す
- 部分関数従属している項目を別の表として分離
- 元の表に分離した表の主キーを残す
第三正規形
第二正規形から,主キーに推移関数従属している項目を取り除いた形
更新方法
- 主キー以外の項目で,関数従属している項目を探す
- 主キー以外の項目で関数従属している項目を別の表として分離
- 元の表に分離した表の主キーを残す
Tags: