今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

正規化

以前誰かが日記でDBの正規化について説明していたなぁ、と 「DB 正規化 site:hatena.ne.jp」でぐぐってみたら id:muimy さんの [データベース試験]正規化 がヒット。
で、読んでいて思った。例に出てきている商品は、 id:muimy さんが書いた当時に(多少なりとも)興味を示していたものなんだろうな、と。だって、もしワタシがこのような例を書くとしたら、きっと酒を例にあげるだろうから。ヱビス・ギネス・ハートランド・etc...とか。
で、バナナ弁当っていったい。(^^;
がー、あと10分でレビュー開始だ。ぢゃ日記書いてないで、早く目を通せ。日記更新してる場合じゃないってばさ。>をれ

推移的関数従属というのは、A→B→C (Aが決まればBもきまる、Bが決まればCも決まる)という関係です。 例えば、上の伝票テーブルの、伝票番号→販売員コード→販売員名 というのは、推移的関数従属の関係です。

これって、販売員コードと販売員名は関数従属なので、第2正規化の段階で分離するのが正しいのでは?
追記:id:muimy さんのコメントから判断すると。。。

  • 関数従属でも主キーでなければ第2正規化の段階で正規化しなくてもよい
  • 「伝票番号→販売員コード→販売員名」は推移的関数従属ではなく関数従属である(が正しい?)