本文へスキップ

平成21年度 秋期 ITパスポート試験 問99

この問題の解説と、これまでの解答の記録です。

問99
頻出度★★★

I社は,企業に対してPC関連機器の販売を行っており,販売管理業務の情報をデータベースによって管理している。図1に示すデータベースとデータベース管理システムの印刷機能を使って,販売時に図2の請求書を発行する。 各商品の販売単価は適宜変更され,新たな販売単価とその更新日時が販売単価表の該当レコードに上書きされる。また,取引を行う企業(以下,取引先という)の担当者は原則1人であるが,取引先によっては部署ごとに1人存在することがある。取引先コードは,取引先ごとに採番する。 **図1 販売管理業務に関するデータベースの構造** 商品表

商品コード商品名分類コードメーカコード仕入先コード

販売単価表

商品コード販売単価更新日時

取引先表

取引先コード取引先名

取引先担当者表

取引先コード部署名所在地名前役職電話番号

**図2 請求書の様式** - 表題: 請求書 - 右上: 平成YY年MM月DD日 - 宛先欄 (左側): - [取引先名] [部署名] - [役職] [名前]様 - [所在地] [電話番号] - 本文: 下記のとおりご請求申し上げます。 - 発行者欄 (右側): 東京都文京区本駒込×丁目××番×号/株式会社 I - 右側: 伝票番号 XXXXXXXXXX - 明細表 (見出し行のみ。データ行は空欄):

商品コード商品名数量単価金額

- 合計欄 (明細表の下部。「合計」の行に「税抜」「消費税」「総額」の見出しがあり,その下の値セルは空欄):

合計税抜消費税総額

図2の請求書を発行するのに図1の4種類の表を参照する必要がある。1枚の請求書を発行するとき,4種類のレコードのそれぞれを参照する回数の大小関係を示したものはどれか。なお,請求書の発行作業の時点で,取引先コード,名前,部署名,購入した商品ごとの商品コードと数量が分かっており,これらの値を使って各表を参照する。参照では,主キーによって一つのレコードを取り出す操作を1回と数える。また,「商品表>販売単価表」という記述は,商品表の方が販売単価表より表の参照回数が多いことを示している。

出典 平成21年度 秋期 ITパスポート試験 問99
解説

問 99

  • 不正解ア

    すべてを等号で結んでいますが、明細が複数行(購入商品が2種類以上)ある場合、商品表・販売単価表の参照回数 n は取引先表・取引先担当者表の1回より多くなります。図2の明細表も複数行を想定した様式なので、常に等しいとは言えません。

  • イ

    正解 請求書1枚を発行するのに必要な参照回数を、表ごとに数えます。宛先欄の取引先名は取引先表を取引先コード(主キー)で引いて1回。所在地・役職・電話番号は取引先担当者表を(取引先コード+部署名)で引いて1回。担当者は取引先ごと、または部署ごとに1人なので、1枚の請求書では担当者レコードも1件だけです。一方、明細表は購入した商品の数だけ行があり、その件数を n とすると、商品名を得るために商品表を n 回、単価を得るために販売単価表を n 回参照します。したがって「販売単価表=商品表=n」「取引先担当者表=取引先表=1」で、商品は最低1種類は購入されるので n≧1。まとめると『販売単価表=商品表≧取引先担当者表=取引先表』となり、イが正解です。

  • 不正解ウ

    販売単価表≧商品表としていますが、商品名は商品表から、単価は販売単価表から、どちらも明細1行につき1回ずつ引くので両者は必ず同数(=n)です。差が出る可能性を残すこの表記は、必ず成り立つ大小関係の記述として不正確です。

  • 不正解エ

    販売単価表≧商品表が不正確なうえ、取引先担当者表≧取引先表としている点も誤りです。取引先名は取引先表から1回、担当者情報は取引先担当者表から1回で、請求書1枚の宛先は1件なので両者は必ず等しくなります。

ここがポイント
  • 主キーで1レコードを取り出す操作を1回と数えるとき、参照回数は「その表の情報が請求書上で何件必要か」で決まる。宛先関連(取引先表・取引先担当者表)は1枚につき1件、明細関連(商品表・販売単価表)は商品件数 n 件。
  • 正規化されたデータベースでは、1つの帳票を作るのに複数の表を主キーで結合して参照する。どの項目がどの表にあるか(商品名=商品表、単価=販売単価表、取引先名=取引先表、所在地・役職・電話番号=取引先担当者表)を対応付けるのが要点。
用語

解答の記録