- ベストアンサー
正規形の定義
第二正規形と第三正規形の定義を教えてください。 どの文献を参考にしても「候補キー」や「主キー」という語を用いて説明がしてあります。が、私はそのあたりからさっぱりわからないので、とても理解しづらいです。もっと噛み砕いた、わかりやすい表現での定義を求めています。どうか、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
おっしゃるとおり正規化はメチャ判りにくいです。難しい言葉を機関銃のごとく連発して、専門家しかわからない様にしています。判ってしまえば、何てことないのですが。正規化で苦労した被害者のひとりとして、できるだけ、わかりやすい言葉で説明してみたいと思います。 実例として参考URLをご覧ください。 非正規形を見てください。商品明細が繰り返しになっています。(繰り返しているように見えませんが、商品明細が複数行あります) まず、繰り返しを排除したものが第一正規形です。実は第一正規形は2つあって、参考URLにあるのは第一正規形(その2)です。ここには有りませんが第一正規形(その1)は非正規形と同じ形で商品明細が1個だけついた形です。 混乱されるかもしれませんが、どちらも繰り返しを排除していると言う意味でまさに、第一正規形なのです。・・・・ここまでは蛇足です。 次に第一正規形を見てください。この中に親分が何人いるでしょうか。親分と言うのは何人か子分がいて、親分が右と言えば子分は右を向くのです。 実は第一正規形(その2)ではわかりにくいので第一正規形(その1)で説明します。 親分は受注番号と商品番号です。ところが数量と金額だけはひとりの親分だけの子分ではありません。実は受注番号と商品番号という2人の親分を持つのです。このとき「受注番号と商品番号」を複合キーと言います。 第二正規形は全ての親分と複合キーを元に表の編成を行ないます。 次に第三正規形です。第二正規形では実は親分-子分-孫分の関係が残っています。これを分離していきます。つまり、親分-子分、子分-孫分と言う別の表に分離します。大家族を核家族化するわけですね。 お分かりいただけたでしょうか。わかりにくければ、補足ください。 原点に戻って、蛇足の第二段。 主キーとは親分または複合キーの事です。 候補キーとは主キー、または主キーの代名詞、または主キーの代理が出来るもの。 本当は逆で候補キーの中から一番いいのを選んで主キーとするのです。 (候補キーが次郎長、清水の親分、清水次郎長、街道一の男伊達の4つあるときどれを主キーとしてもいいのですね) ところが学生番号、学生氏名の場合、同姓同名がなければどちらでもいいですが、同姓同名を考えるなら学生番号を主キーにするほうがいいのです。 最後ですが、親分または複合キーであって、かつ、ただ一人(表の中のただ1行)を特定できる。それが主キーなのです。
お礼
ご丁寧な解答をくださって、どうもありがとうございました。 もう一度、自分の中で順を追って整理してみたいと思います。 また何か機会があれば、そのときはよろしくお願いします。