Cou氏の徒然日記

ほのぼの日記ブログです。

DB その28 -第4正規化~第5正規化-

正規化


この前の研修で正規化を勉強したので、
ちょっと自分なりにお勉強。
わざわざIIDXに関連させているのは趣味ですが。
(しかも合っているかどうかは保障できませんが・・・)

第3正規化までは、定義に従って関数従属を分解していけば余裕なんだけど、
それ以上がなかなか難しくて・・・。
過去問をやっていても、第4正規化以上は正直厳しい。

第4正規化多値従属性が関連してくるのだが、
それはそちらで。

例えば、次のような分解をすると。

イメージ 1

この場合は、右の2つの表から左の表に戻すことが可能。(第4正規形の条件を満たす)
でも、次の場合は・・・

イメージ 2

戻そうとすると、余分な列が生まれてしまうので、不可逆な変形になってしまう。
分解したものを元に戻すためには、分解した時にもう一つ表が必要になる。

イメージ 3

これが第5正規化(第5正規形)。

この前まで定義ばかり見ていて全然わからなくて放置していましたが、
研修でも言われたように、自分の手で正規化を行なうのは重要だなとしみじみ感じました。
今日一日で、結構理解も深まった(気がする)し、少しいい感じ。

それにしても、データベースは難しいなぁ・・・。orz