データベース 正規化
ホーム > 発行済み
読者の情報処理試験合格(シスアドから高度まで)を目指しています。
作者は、アプリケーションの開発を行なっているエンジニアです。
情報処理試験の知識(理論)を、日々の業務(実践)にどう生かしていくか、その辺りの事を意識
して、発行していきます。

データベース 正規化とは


     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━     
        ★★ 『情報処理試験のお勉強(千里の道も一歩から)』 ★★
                           2004/02/15 第14号
        知識の習得は、本当に楽しいものです。
        それぞれの目標に向かって、一歩ずつ踏出して行きましょう。
     ----------------------------------------------------------------------
        まぐまぐ:685 めろんぱん:88 メル天:45 カプライト:65
        E-Magazine:42 Macky!:16 melma:14      総発部数:955
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     
      秋期にネットワークに関する出題がある科目を受験しようと考えている方。
     
      テクニカルエンジニア(ネットワーク)、情報セキュアド、ソフ開、基本情報、
      上級・初級シスアド、アプリケーションエンジニアを受験しようかと考えている
      方は、まちがいなく、申込みしておいた方が良いですよ。
      
      試験範囲の技術習得の手助けになります。
      
      ・「5分でわかる最新キーワード解説」
      ・「ネットワーク早わかり講座」
      ・「運用コストを減らすワザ50」
      ・「すご腕アナリスト市場予測」
     
      今すぐ、無料登録をして、試験対策の準備が出来る環境を、作っておくことを
      お薦めしています。
     
       実力の習得は、日頃の努力です。 貪欲に知識の習得をしましょう。
       
       ▽ http://jstudy.fc2web.com/keyman2.html
     
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


       『初級システムアドミニストレータ 午前平成11年秋問45』
     
      往来、仕入台帳は次のようなレコード形式になっていた。これをデータベー
      ス化するために、商品に関する項目と、仕入先に関する項目を分けて記録する
      ことにした。
      正規化されたデータベースのレコードとして、最も適切なものはどれか。
      ここで、商品コードと仕入先コードがレコードを検索するためのキーとなり、
      商品コードから仕入先が参照できなければならない。また、一つの仕入先
      から複数の商品を仕入れている。
     
     
      ┌─────┬───┬──┬──────┬─────┬─────┐
      │商品コード│商品名│単価│仕入先コード│仕入先社名│仕入先住所│
      └─────┴───┴──┴──────┴─────┴─────┘
     
     
     
        ア ┌─────┬───┬──┐
          │商品コード│商品名│単価│
          └─────┴───┴──┘
          ┌──────┬─────┬─────┐
          │仕入先コード│仕入先社名│仕入先住所│
          └──────┴─────┴─────┘
     
     
        イ ┌─────┬───┬──┐
          │商品コード│商品名│単価│
          └─────┴───┴──┘
          ┌─────┬──────┬─────┬─────┐
          │商品コード│仕入先コード│仕入先社名│仕入先住所│
          └─────┴──────┴─────┴─────┘
     
     
        ウ ┌─────┬───┬──┐
          │商品コード│商品名│単価│
          └─────┴───┴──┘
          ┌─────┬──────┐
          │商品コード│仕入先コード│
          └─────┴──────┘
          ┌──────┬─────┬─────┐
          │仕入先コード│仕入先社名│仕入先住所│
          └──────┴─────┴─────┘
     
     
        エ ┌─────┬───┐
          │商品コード│商品名│
          └─────┴───┘
          ┌─────┬──┐
          │商品コード│単価│
          └─────┴──┘
          ┌─────┬──────┬─────┬─────┐
          │商品コード│仕入先コード│仕入先社名│仕入先住所│
          └─────┴──────┴─────┴─────┘
     
     
     
     
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     メールマガジンがずれて見える方は、
      http://www.mag2.com/faq/mua.htm を参考にしてください。
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━



合格を勝取るにはコレ!! 絶対に読んでおくべきです。

▽ http://www.mag2.com/m/0000120201.htm



     『解説』
     
       今回の問題は、正規化についての問題です。
       情報処理試験に出題される正規化せよの問題は、基本的に第三正規形まで
       行えば良いでしょう。
     
       テクニカルエンジニア(DB)などでは、ボイスコッド正規形まで考え
       させられることはありますが、あまり出題はされていませんね。
     
       では、正規化を進めていきましょう。
     
       ┌─────┬───┬──┬──────┬─────┬─────┐
       │商品コード│商品名│単価│仕入先コード│仕入先社名│仕入先住所│
       └─────┴───┴──┴──────┴─────┴─────┘
     
       まずは、この段階で、「定義域は単純であり繰返し項目も存在しない」ので
       第一正規形を満たしています。
       
       そして問題文より「商品コードと仕入先コードがレコードを検索するため
       のキー」とあるので、主キーが{商品コード、仕入先コード}であること
       がわかります。
     
       あと、これからの説明のために、テーブルに名前を付けておきます。
       仕入先別商品テーブルなどが妥当ですね。
     
     
       続いて、第二正規形にしましょう。
       第二正規形を満たす条件は「部分関数従属の排除」です。
     
       商品名、単価は、商品コードに関数従属しています。
       仕入先社名、仕入先住所は、仕入先コードに関数従属しています。
       よって、これらの項目を別テーブルに分けます。
       
       すると、以下のようなテーブル構成になりますね。
       テーブル名についても、妥当な名前を付けます。
       
       仕入先別商品(商品コード、仕入先コード) 主キー{商品コード、仕入先コード}
       商品    (商品コード、商品名、単価) 主キー{商品コード}
       仕入先   (仕入先コード、仕入先社名、仕入先住所) 主キー{仕入先コード}
     
       という3テーブルが出来ました。
     
       
       続いて、第三正規形にしましょう。
       第三正規形は「推移関数従属の排除」です。
     
       仕入先別商品(商品コード、仕入先コード)
       商品(商品コード、商品名、単価)
       仕入先(仕入先コード、仕入先社名、仕入先住所)
     
       ところが、探してみても、推移関数従属は存在していませんね。
       よって、この段階で第三正規形まで満たしています。
       
     
     
       ここで、出来上がったテーブルと設問を見比べると。。。
       同じ形のテーブルが存在している
     
        ウ ┌─────┬───┬──┐
          │商品コード│商品名│単価│
          └─────┴───┴──┘
          ┌─────┬──────┐
          │商品コード│仕入先コード│
          └─────┴──────┘
          ┌──────┬─────┬─────┐
          │仕入先コード│仕入先社名│仕入先住所│
          └──────┴─────┴─────┘
     
       が正解だとわかります。
     
     
     
       折角、ここまで正規化を進めたので、前回の復習も兼ねてER図も
       考えて見ましょう。
       
        ┌──┐ ┌──────┐ ┌───┐
        │商品│→│仕入先別商品│←│仕入先│
        └──┘ └──────┘ └───┘
     
       上記の様になりますね。
       商品と仕入先は「多対多」の関係ですね。
       仕入先別商品が「連関エンティティ」です。
     
       問題文の「商品コードから仕入先が参照できなければならない。また、
       一つの仕入先から複数の商品を仕入れている」の文言からも、商品と
       仕入先の関係は「多対多」なのでは、と推測できますね。
     



合格を勝取るにはコレ!! 絶対に読んでおくべきです。

▽ http://www.mag2.com/m/0000120201.htm



     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     『編集後記』
     
       先日、ソフトウェア開発のDBの問題を見る機会がありました。
       難易度的には、テクニカルエンジニア(DB)で出題されてもおかしく
       無いなぁという感想でした。
       ただ、解答方法を見ると穴埋めがほとんどで、ヒントとなるような文章が
       そこらにありましたね。
       テクニカルエンジニアでは、記述させるのが殆どです。
       この辺で、難易度に差をつけているのでしょうね。
     
     『お願い』
     
       ぜひ、情報処理試験のお勉強(千里の道も一歩から)を、今回受験を考えて
       いる方などに、御紹介してあげてください。
       このメールマガジン自身も、千里の道を一歩ずつ、着実に歩んでいきます。
     
      「情報処理試験のお勉強(千里の道も一歩から)」
       まぐまぐ  :http://www.mag2.com/m/0000120201.htm
       めろんぱん :http://www.melonpan.net/mag.php?005485
       メル天   :http://melten.com/m/16380.html
       カプライト :http://cgi.kapu.biglobe.ne.jp/m/8670.html
       E-MAGAZINE :http://www.emaga.com/info/megafri.html
       Macky!   :http://macky.nifty.com/cgi-bin/bndisp.cgi?M-ID=megafriday
       melma!   :http://www.melma.com/mag/20/m00102220/index_bn.html
     
     
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
       『 情報処理試験のお勉強(千里の道も一歩から) 』
       作者  :メガフラ(megafriday@yahoo.co.jp)
       HP  :http://jstudy.fc2web.com/
       発行周期:週間
     
      以下のスタンドより、発行させて頂いています。
      配信登録、配信中止も以下のアドレスよりお願いします。
     
      まぐまぐ  :http://www.mag2.com/m/0000120201.htm
      めろんぱん :http://www.melonpan.net/mag.php?005485
      メル天   :http://melten.com/m/16380.html
      カプライト :http://cgi.kapu.biglobe.ne.jp/m/8670.html
      E-MAGAZINE :http://www.emaga.com/info/megafri.html
      Macky!   :http://macky.nifty.com/cgi-bin/bndisp.cgi?M-ID=megafriday
      melma!   :http://www.melma.com/mag/20/m00102220/index_bn.html
     
     ----------------------------------------------------------------------
     <免責事項>掲載されているいかなる情報により損害を被っ
                 ても、当方では責任を負いませんことをご了承ください。
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
     





情報処理試験のお勉強(千里の道も一歩から) (マガジンID:0000120201)

メールアドレス:
メールアドレス:

Powered by まぐまぐ


メインメニューに戻る

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送