▲ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┏┓ ┃┃  のんびりやろう!情報処理試験! 〜1問1問コツコツと〜  ┃┃ ┃┃ 2003.3.7 vol.1058 23,277 部発行 http://www.shunzei.com/ ┃┃ ┗┛ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼ ━PR━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ◆◆◆◆◆◆◆◆◆◆◆「合格ゼミ」 好評受付中! ◆◆◆◆◆◆◆◆◆◆◆ 早くも追加コースが出ている人気のオープンセミナー「合格ゼミ」 人気講師による直前対策が合格力を高めます。 詳細とお申込は http://www.itec.co.jp/seminar/ から ◆◆◆◆ 《IT技術者教育のパイオニア》 アイテックの通信講座 ◆◆◆◆ ---------------------------------------------------------------------- ■■■■【受講料の80%を国が支給!】WEBデザイナー養成講座■■■■ 需要が急増中の【WEBデザイナー】の勉強を始めてみませんか? 通信講座 なので、好きな時間に自宅で学習できます。在宅ワークやSOHOで高収入可能! ★厚生労働大臣指定・教育訓練給付制度で【受講料の80%を国が支給!】★ ●案内書を無料送呈中!⇒ http://211.10.20.135/a/a.cgi?k03852Mm01027 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━PR━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■今日の問題■☆(等幅フォントで見てね!) ----------------------------------------------------------------------  次のような繰返し構造をもったレコードからなるデータを、第3正規形に  正規化したものはどれか。ここで、下線部分は主キーを表す。  また、単位と単価は商品コードごとに決まるものとする。 ┌────┬──┬───┬───┬──┬───┬──┬──┬──┐ │伝票番号│日付│顧客C│顧客名│住所│商品C│単位│数量│単価├┐ └────┴──┴───┴───┴──┴┬──┴┬─┴┬─┴┬─┘├┐   ↑                 └┬──┴┬─┴┬─┴┬─┘│ 【主キー】                └───┴──┴──┴──┘                            :繰返し > しゅんぜい注) > メールマガジンの都合上、問題文通り表記できません。 > そこで、問題の表の【伝票番号】は、本来は【主キー】であり、 > 選択肢の「主キー」は下線の代わりに「【主キー】(カッコではさむ)」に > 顧客コードを「顧客C」、商品コードを「商品C」と表記してあります。  ア ┌──────┬─────┐    │【伝票番号】│顧客コード│    └──────┴─────┘    ┌───────┬───┬──┐    │【顧客コード】│顧客名│住所│    └───────┴───┴──┘    ┌──────┬────┬───────┬──┐    │【伝票番号】│【日付】│【商品コード】│数量│    └──────┴────┴───────┴──┘    ┌───────┬──┬──┐    │【商品コード】│単位│単価│    └───────┴──┴──┘  イ ┌──────┬──┬─────┐    │【伝票番号】│日付│顧客コード│    └──────┴──┴─────┘    ┌───────┬───┬──┐    │【顧客コード】│顧客名│住所│    └───────┴───┴──┘    ┌──────┬───────┬──┐    │【伝票番号】│【商品コード】│数量│    └──────┴───────┴──┘    ┌───────┬──┬──┐    │【商品コード】│単位│単価│    └───────┴──┴──┘  ウ ┌──────┬──┬─────┬───┬──┐    │【伝票番号】│日付│顧客コード│顧客名│住所│    └──────┴──┴─────┴───┴──┘    ┌──────┬───────┬──┐    │【伝票番号】│【商品コード】│数量│    └──────┴───────┴──┘    ┌───────┬──┬──┐    │【商品コード】│単位│単価│    └───────┴──┴──┘  エ ┌──────┬──┬─────┬───┬──┐    │【伝票番号】│日付│顧客コード│顧客名│住所│    └──────┴──┴─────┴───┴──┘    ┌──────┬───────┬──┬──┬──┐    │【伝票番号】│【商品コード】│単位│数量│単価│    └──────┴───────┴──┴──┴──┘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■解答■(出典:H12. 1種 問43) ----------------------------------------------------------------------  イ ┌──────┬──┬─────┐    │【伝票番号】│日付│顧客コード│    └──────┴──┴─────┘    ┌───────┬───┬──┐    │【顧客コード】│顧客名│住所│    └───────┴───┴──┘    ┌──────┬───────┬──┐    │【伝票番号】│【商品コード】│数量│    └──────┴───────┴──┘    ┌───────┬──┬──┐    │【商品コード】│単位│単価│    └───────┴──┴──┘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■解説■ ----------------------------------------------------------------------  データベース特集に入っています。  今日は予告通り、正規化(normalization) の問題でした(^^)  データベースの正規化(normalization) とは、データベースの冗長性を  減らし、参照時の矛盾を減らすことをいいます。  一般的に、正規化は第3正規形まで行います。第3正規形まで正規化する  ことによって、冗長性のないデータ項目のグループが作れますが、  処理効率を考えると必ずしも良いとはいえません。  まず、「主キー」という言葉がありました。  主キー(primary key) とは、その項目を選び出すとその行(横全部)が  一意に決まる列を言います。  この主キーは、特定の行を取り出したい場合に有効です。  1つの行を取り出すときに、すべての項目を確認してデータが一致するもの  を探していたら、ものすごい手間がかかりますよね?  主キーを設定することによって、この手間が省けます。1項目だけを見れば  特定の行を取り出せるようにしたのが「主キー」というものです。  では、問題を実際に解いていきましょう。 ┌────┬──┬───┬───┬──┬───┬──┬──┬──┐ │伝票番号│日付│顧客C│顧客名│住所│商品C│単位│数量│単価├┐ └────┴──┴───┴───┴──┴┬──┴┬─┴┬─┴┬─┘├┐                     └┬──┴┬─┴┬─┴┬─┘│                      └───┴──┴──┴──┘                            :繰返し  題意より、一番左にある【伝票番号】が主キーになっています。  この表から第3正規形に持っていきます。 > ●第1正規形(first normal form) >  繰返しデータをレコードとして、独立させること。  初期状態では、右から4つの列が繰返しの部分になっています。  ここで、この複数の部分を1行に1つずつになるように別の行にします。 ┌──────┬──┬───┬───┬──┬───┬──┬──┬──┐ │【伝票番号】│日付│顧客C│顧客名│住所│商品C│単位│数量│単価│ └──────┴──┴───┴───┴──┴───┴──┴──┴──┘ ┌──────┬──┬───┬───┬──┬───┬──┬──┬──┐ │【伝票番号】│日付│顧客C│顧客名│住所│商品C│単位│数量│単価│ └──────┴──┴───┴───┴──┴───┴──┴──┴──┘ ┌──────┬──┬───┬───┬──┬───┬──┬──┬──┐ │【伝票番号】│日付│顧客C│顧客名│住所│商品C│単位│数量│単価│ └──────┴──┴───┴───┴──┴───┴──┴──┴──┘                :                :  このように列の繰返しの部分をなくしたものが、第1正規形です。 > ●第2正規形(second normal form) >  主キーの一部だけから特定できる項目を別の表にすること。  この段階では、第1正規形をもとにして主キーを見つけます。  まずは、最初からの「主キー」である【伝票番号】に注目します。  【伝票番号】について考えると、たとえば【伝票番号】が分かればその伝票  に書いてある日付、顧客コード、顧客名、住所が一意に決まりますよね?  また【伝票番号】と【商品コード】がわかれば、単位、数量、単価が  わかります。  このように「○○がわかれば、横1行全部がわかる」と言うようなものを  見つけ、その関連でグループ分けを行うのが、第2正規化です。  ここでいう「○○」というのが、そのレコードの主キーになります。   ┌──────┬──┬─────┬───┬──┐   │【伝票番号】│日付│顧客コード│顧客名│住所│   └──────┴──┴─────┴───┴──┘   ┌──────┬───────┬──┬──┬──┐   │【伝票番号】│【商品コード】│単位│数量│単価│   └──────┴───────┴──┴──┴──┘  さらに、新たに主キーになった【商品コード】についても、同じように  考えましょう。主キーについて考えるのが第2正規形への変形ですよ(^^;  問題文から【商品コード】が分かれば、単位と単価が分かります。  よって、上の表はさらに次のように変形できます。   ┌──────┬──┬─────┬───┬──┐   │【伝票番号】│日付│顧客コード│顧客名│住所│   └──────┴──┴─────┴───┴──┘   ┌──────┬───────┬──┐   │【伝票番号】│【商品コード】│数量│   └──────┴───────┴──┘   ┌───────┬──┬──┐   │【商品コード】│単位│単価│   └───────┴──┴──┘  ここまでで、第2正規形まで変形できました。 > ●第3正規形(third normal form) >  主キー以外の項目で特定できる項目を別の表にすること。  さらに、第2正規形の主キー以外のものでグループ分けを考えます。  第2正規形の3つの表のうちの一つ目の表に注目すると、【顧客コード】が  分かれば、顧客名と住所は分かりますよね?  よって、さらにグループ分けを行うと、次のようになります。  【顧客コード】が主キーになるのも忘れずに。   ┌──────┬──┬─────┐   │【伝票番号】│日付│顧客コード│   └──────┴──┴─────┘   ┌───────┬───┬──┐   │【顧客コード】│顧客名│住所│   └───────┴───┴──┘   ┌──────┬───────┬──┐   │【伝票番号】│【商品コード】│数量│   └──────┴───────┴──┘   ┌───────┬──┬──┐   │【商品コード】│単位│単価│   └───────┴──┴──┘  ここで、第3正規形に変形できました。  長くなりましたが、正解は「イ」になります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ★これ、おしえてっ!(質問編)★ 回答期限:3月9日(日)の夜まで ----------------------------------------------------------------------  「この問題がわからないっ!!」という、  読者からの質問をみなさんに回答してもらおう!というコーナーです。  今回の質問はこちらです。(出典:H10.春 2種 問9) ----------------------------------------------------------------------  図に示す形式の24ビットの浮動小数点表示で、最大値を16進数で  表したものはどれか。    0 1     7 8          23   ┌―┬―――――――┬―――――――――――――┐   │ │(7ビット) │   (16ビット)   │   └―┴―――――――┴―――――――――――――┘    ↑        ▲    │      小数点位置    │    │ ←―――――→ ←―――――――――――→    │   指数部      仮数部の絶対値    │    └― 仮数部の符号(0:正,1:負)  注)指数部:2のべき乗を表し、負数は2の補数で表す。  ア 3FFFFF    イ 7FFFFF    ウ BFFFFF    エ FFFFFF ----------------------------------------------------------------------  スイマセン。日曜日まで回答期間を延長します。  みなさんの回答は、月曜日に紹介します。  これに対する回答(解説)を3月9日(日)の夜までにお願いします。  このコーナーで取り上げてほしい問題のリクエストも募集中です。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼選択肢で勉強しよっ!▼(答えはこのメールの一番下にあります) ---------------------------------------------------------------------- > DMA(Direct Memory Access) 制御方式 って? ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ > *********************** 投稿募集中のテーマ *********************** < ----------------------------------------------------------------------  ●「これ、おしえてっ!」で扱ってほしい問題のリクエストやその回答  ●「選択肢で勉強しよっ!」で扱ってほしい用語のリクエスト  ●「その他、試験などに関するお便り(テーマフリー)」  ハンドル名を添えて mail@shunzei.com まで送ってください!! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  のんびりやろう!情報処理試験! 〜1問1問コツコツと〜(週5日発行) ----------------------------------------------------------------------  編集・発行:しゅんぜい mail@shunzei.com      ─ 発行部数 ─    発送:melma!   http://www.melma.com/     5,750 部       :まぐまぐ  http://www.mag2.com/     13,074 部       :めろんぱん http://www.melonpan.net/   4,453 部                           ───────  登録・解除:http://www.shunzei.com/mm/        23,277 部(total)  ○本の購入:http://books.rakuten.co.jp/itexam/  ○バックナンバー  ダウンロード: http://www.shunzei.com/mm/backnumber.html  立ち読み  : http://www.melma.com/mag/89/m00000189/index_bn.html  転載について: http://www.shunzei.com/about/disclaimer.html  広告掲載に関しては mail@shunzei.com まで、直接お願いします。 ----------------------------------------------------------------------  ○メールマガジンの購読の登録・解除は個人の責任で行ってください。   しゅんぜいは一切代行しません! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼選択肢で勉強しよっ!の答え▼ ----------------------------------------------------------------------  (ソフトウェア開発平成13年問23イ)の選択肢より > CPU を介さずに入出力装置と主記憶装置の間のデータ転送を行う。  (2種平成12年春問28エ)の選択肢より > 入出力装置と主記憶との間のデータ転送を CPU と独立に行う機構である。  DMA(Direct Memory Access) 制御方式とは、CPU を介さずに  入出力装置と主記憶装置の間のデータ転送を行う方式です。  …と言っても、データ転送が行われるまでは CPU が入出力制御を  行うのですが、CPU からの入出力命令があると、CPU は DMA コントローラ  という入出力制御専用のチップにその情報を送ります。  その後は、DMA コントローラが入出力を制御します。  ただ、入出力データの転送が開始されるまでと、入出力動作中に  バスで競合が起きた場合には CPU が待たされることになります。  イメージは、こんなカンジです(^^;         ┌─────┐       ┏━┿ 主記憶 │  ┌───┐┃┌┤(メモリ)│  │   │┃│└─────┘  │CPU├╂┤  │   │┃│┌────────┐┌────────┐┌────┐  └───┘┃└┤ DMA    ├┤ 入出力    ├┤周辺装置│       ┗━┿ コントローラ ┿┿ コントローラ ┿┿    │         └────────┘└────────┘└────┘ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ==PR================================================================== ▼24時間いつでもどこでも本が買える!【インターネット上の本屋さん】▼  のんびりやろう!〜楽天ブックス http://books.rakuten.co.jp/itexam/ ======================================================================