[ソフ技] 正規化

woody_1227 オーナー 公式アカウント

不可能な物を除外していって残った物が
たとえどんなに信じられなくても
それが真相なんだ!
ログインすると、チェック機能を利用できるようになります。
正規化とは…


ここから先は、オリジナルの表を正規化していきます。
自力で正規化してみると力がつくと思います。
ぜひチャレンジしてみてください!


[非正規形]
全てのデータを落ちなく表に取り込む。


[第1正規形]
属性値に繰り返しがない状態のこと。
」ことと「 」ことに注意する。
計算で求めることができる列は排除する。(これは非正規形の段階で行っても良い)

※主キーは色がついている部分。


[第2正規形]
部分関数従属を切り出した状態のこと。


[第3正規形]
推移的関数従属(関数従属の連鎖)を切り出した状態のこと。
完全関数従属の状態のこと。

※注意※
正規化は必ずしも良いことばかりではない。
正規化を行うことによって、SQLが無駄に長くなってしまったり、処理速度の低下につながってしまったりすることもある。
実際の運用に合わせて、正規化を途中でやめたり、正規化を戻したり(非正規化)をすることが大切。
(このコンテンツでは"教科書通りの正規化"を取り扱っているため、この点は考慮していません。)