正規化ざっくりメモ

第1正規形への変形

繰り返し列の排除。 全ての行の中の全ての列には値が1つずつ入っているべきであり、1つの行の中に値が複数入る列があってはならない

第2正規形への変形

複合主キーの一部への関数従属(部分関数従属)の排除。

関数従属とは

ある列の値Aが決まれば、自ずと列の値Bも決まるという関係のこと。 列Bは列Aに関数従属している、という。

複合主キーを持つテーブルの場合、非キー列は複合主キー全体によって値が決まるべきである。 複合主キーの一部だけで非キーの値が決まるべきではない(部分関数従属であるべきではない)

※複合主キーが存在しないテーブルの場合はそもそも第2正規形の条件を満たしている(主キーが1つしかないので、部分関数従属が起こりえないため)

第3正規形への変形

間接的な関数従属(推移関数従属)の排除。 テーブルの非キー列は、主キーに直接関数従属するべきである。