【DB】正規化

DBの勉強の続きをしていきます!!
今回のテーマは正規化!!



正規化とは

正規化とは、関係(リレーション)DBにおいて、更新時(挿入・更新・削除)にデータの整合性や一貫性を保つために一定のルールに従ってテーブルの設計を行っていくことです。一つのデータを一つの場所で管理するDBの実現が望ましい形です。正規化の種類として、「第1正規形」→「第2正規形」→「第3正規形」→「ボイスコッド正規形」→「第4正規形」→「第5正規形」が存在します。



第1正規形

第1正規形は、繰り返し項目を排除し1行1行のデータの中に同一列が存在しない形へと変形させることです。一つの集合データにある



第2正規形

第2正規形は、「第1正規形」が完了しているテーブルに対して、部分関係従属しているキー(主キーに関係する)項目を分離します。複数の項目を主キーにした場合でも、その項目分についても分離を行う。


候補キー

一意に項目を識別できる属性(列)の組み合わせのこと。


主キー

候補キーの中から、目的によって一つ、または一つの組み合わせを選択したもの。主キーは制約として「NULL」を許容していません。



第3正規形

第3正規形は、「第2正規形」が完了しているテーブルに対して、すべての非キーは、候補キーに対して推移的関係従属をしていないこと。つまり第2正規形で、主キーとして選択しなかった候補キー(外部キー)を分離していきます。また、導出項目(計算によって得られる項目)については削除を行う。



以下、正規化については使用させることが少なく、第3正規化を行っていれば自動的に完了していることが多い。

ボイスコッド正規形

ボイスコッド正規形では、X→Yの自明な関係従属であるか、またはXはRのスーパーキーであること。つまり第3正規形では非キーについて分離対象でしたが、すべての項目で関係従属性がある場合分離を行います。



第4正規形

第4正規形は、X→→Yの自明な多値従属(Xの値が決まれば、Yの値が自動的に決まる性質)であるか、またはXはRのスーパーキーであること。つまり、テーブルがすべて候補キーであった場合に該当する。



第5正規形

第5正規形は、1..nは自明な結合従属性であるか、1..nはRのスーパーキーであること。つまり、多値従属(Xの値が決まれば、Yの値が自動的に決まる性質)が3つ以上に分解可能である場合に該当する。



今回は以上。



【ブログを始めるなら】

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA