checkpoint

自分用のIT技術系ノートです。古い情報や間違っている情報もあるので注意。

正規化(第一正規化〜ボイスコッド正規化)

このままDB試験のことについて何も書かないのもアレなので、正規化のおさらい。


非正規化→第一正規化
あのー、あれ。Excelで行をマージしまくった表を、全部解除して単純にするようなイメージ。一行一データ。みたいな。


第一正規化→第二正規化
全ての非キー属性は、候補キーに対して完全関数従属。どの非キー属性も、候補キーの真部分集合に対して関数従属してはならない。
これは、あれ。漫才コンビ(二人セットでキー)がいて、ボケとツッコミが揃ったらお客全員爆笑。みたいな。ただしボケだけでも笑うお客は、ボケの単独ライブに行かされます。


第二正規化→第三正規化
全ての非キー属性は、候補キーに対して推移関数従属してはならない。
これは、あれ。A子(キー)にはいつもB男(非キー)とC子(非キー)の二人が付いてくるんだけど、B男はA子が好きなので一緒に居るのに対して、C子は別にA子を親友だとは思ってなくて、B男が好きだから一緒に行動しているだけなのでした。
この場合第三正規化によって、A子(キー)&B男(非キー)と、B男(キー)&C子(非キー)のペアに分断されます。それなんて二股?


第三正規化→ボイスコッド正規化
候補キーの一部が、非キーに対して関数従属してはならない。
これは、あれ。カイル・リースとサラ・コナー(二人セットでキー)からジョン・コナー(非キー)が生まれるんですけど、カイル・リースは未来から派遣されてきたジョン・コナーの部下でした!みたいな。
この場合ボイスコッド正規化によって、サラ・コナー(キー)&ジョン・コナー(非キー)と、ジョン・コナー(キー)&カイル・リース(非キー)に分かれます。この例えはちょっと無理があるかもしれませんね。


誤解を招きそうな表現かもしれませんが、ワシが理解できればそれでいいし、コレを読んで誤解してくれるDB試験受験者がいればライバルが減っていい感じですね。


第四正規化と第五正規化はめんどくせーのでまた今度。