Title:正規化
| 関数従属 | ある属性xの値が決まると他の属性yの値が一意的に決まる関係 |
| 部分関数従属 | ある非キー項目が、主キーの一部によっても一意に決められる関係にあること |
| 複合キー | |
| 完全関数従属 | ある非キー項目について、主キーの全体が決まらなければ一意に決めることができない関係を指します。 |
| 推移的関数従属 | ある非キー項目が、主キーによってだけでなく、特定の非キー項目によっても一意に定められる関係にあること |
手順
| 第1正規化 | 繰返し項目や集団項目を排除する操作。 |
| 第1正規形 | 第一正規化の結果得られた表 |
| 更新時異常 | |
| 修正時異常 | 該当する行を全て同時に変更する必要がある。 |
| 挿入時異常 | 複合キーの一部が空白のキーは、登録できない。 |
| 削除時異常 | 発生要素が2重のとき、削除すると片方の発生も取り消される。 |
| 第2正規化 | 全ての項目が完全関数従属である状態にする。 |
| 第2正規形 | |
| 第3正規化 | 非キー項目に関数従属している項目を別の表に分割し、推移的関数従属を解消した状態にする。 |
| 正規化の目的 | 更新時異常を防ぐこと。 |
| 非正規化 | 処理速度、便利性を考慮し厳密な正規化を行わない。 |