ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Oracle, SQLServer, DB2... etcコミュの正規化について

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして、一つ質問させて下さい。

最近データベースの勉強を始めたのですが、正規化についての部分でつまづいています。

以下は、ある試験の問題なのですが、解答が手元にありません。

(問題)
受注番号 受注日  受注先 商品名 数量 単価
1001   2004/4/1 A社  ノート   10  100
1001   2004/4/1 A社  鉛筆    25  80
1001   2004/4/1 A社  ボールペン 30  120
1002   2004/4/1 B社  鉛筆    20  80
1002   2004/4/1 B社  A4用紙   10  800
1003   2004/4/2 C社  クレヨン  25  300
1003   2004/4/2 C社  A4用紙用紙 15  800
1003   2004/4/2 C社  ボールペン 25  120
1004   2004/4/2 D社  鉛筆    15  80
1004   2004/4/2 D社  ボールペン 15  120

上の受注表を正規化した構造は、次のうちのどれか?

(1)
テーブル1 受注番号:受注日:受注先
テーブル2 商品名:数量
テーブル3 商品名:単価

(2)
テーブル1 受注番号:受注日:受注先
テーブル2 受注先:商品名:数量
テーブル3 商品名:単価

(3)
テーブル1 受注番号:受注日:受注先
テーブル2 受注日:商品名:数量
テーブル3 商品名:単価

(4)
テーブル1 受注番号:受注日:受注先
テーブル2 受注番号:商品名:数量
テーブル3 商品名:単価

受注番号をキーにすると考えた場合、正解は(4)かと思うのですが、(2)、(3)ではだめなのでしょうか。


すみません、どなたか、よろしくお願いします。

コメント(3)

正解は4でしょう

【理由】
2…違う日に同じ商品で受注がある場合、紐つかない

3…同じ日に違う受注番号がある場合、紐つかない

携帯からなんでザックリですが、こんな感じです。
>みずほかずあき さん
>マリエ さん
早々のご解答、ありがとうございます。
関数従属について調べて、やっと分かりました。
ちゃんと順序だてていけば、正規化できるのですね。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Oracle, SQLServer, DB2... etc 更新情報

Oracle, SQLServer, DB2... etcのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング