本文へスキップ

平成24年度 春期 ITパスポート試験 問58

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

問58
頻出度★★☆

次の“商品”表から,仕入先が“A社”で価格が140円以上の商品,及び仕入先が“B社”で価格が170円以下の商品を抽出した。得られた商品名だけを全て挙げたものはどれか。 商品

商品コード商品名価格(円)仕入先
S001チョコレート150A社
S002ケーキ260B社
S003カステラ290C社
S004リンゴ190A社
S005イチゴ220B社
S006メロン280C社
S007ジュース120A社
S008コーヒー160B社
S009ビール220C社
出典 平成24年度 春期 ITパスポート試験 問58
解説

問 58

  • 不正解ア

    「ケーキ,イチゴ,コーヒー」は、B社の商品を 3 件とも挙げてしまっている。ケーキは 260円、イチゴは 220円で、いずれも条件2 の「170円以下」を満たさないため抽出されない。B社で条件を満たすのは 160円のコーヒーだけであり、さらに条件1 で抽出されるA社のチョコレートとリンゴが欠落している。仕入先だけを見て価格の不等号を確認しなかった場合に選びやすい誤りである。

  • 不正解イ

    「ケーキ,イチゴ,ジュース」は、二つの条件の価格の向きを取り違えた選択肢である。ケーキ 260円・イチゴ 220円はB社だが 170円以下ではなく、ジュース 120円はA社だが 140円以上ではない。つまり 3 件とも条件を満たさない行であり、「A社なら140円未満、B社なら170円超」と条件を逆に読んだ場合の結果になっている。抽出条件は A社側が『以上』、B社側が『以下』である点に注意する。

  • ウ

    正解 正解はウ「チョコレート,リンゴ,コーヒー」。この問題は関係データベースの「選択 (行の絞り込み)」と「射影 (列の取り出し)」を手作業でたどる問題である。抽出条件は二つあり、それらを OR (どちらかを満たす行) で結んでいる点がポイント。まず条件1「仕入先がA社 かつ 価格が140円以上」で商品表を見ると、A社の商品は S001 チョコレート (150円)、S004 リンゴ (190円)、S007 ジュース (120円) の 3 件。このうち 140円以上なのはチョコレート (150≧140) とリンゴ (190≧140) で、ジュースは 120円なので条件を満たさない。次に条件2「仕入先がB社 かつ 価格が170円以下」で見ると、B社の商品は S002 ケーキ (260円)、S005 イチゴ (220円)、S008 コーヒー (160円) の 3 件。このうち 170円以下なのはコーヒー (160≦170) だけで、ケーキとイチゴはどちらも 170円を大きく超えるため外れる。C社の商品 (カステラ・メロン・ビール) はどちらの条件も仕入先が合わないので最初から対象外である。二つの条件で選択された行を合わせると S001・S004・S008 の 3 行になり、そこから商品名の列だけを射影すると チョコレート,リンゴ,コーヒー が得られる。これを過不足なく挙げているのはウである。

  • 不正解エ

    「チョコレート,リンゴ,ジュース」は、A社の商品 3 件をそのまま並べたものである。チョコレート 150円とリンゴ 190円は確かに条件1 を満たすが、ジュースは 120円で 140円以上ではないため抽出されない。また、条件2 で抽出されるB社のコーヒー (160円) が抜けている。仕入先がA社という条件だけで区切り、価格の下限と、もう一方の条件 (B社かつ170円以下) を見落とした場合の誤りである。

ここがポイント
  • 選択 (selection) と射影 (projection) — 関係データベースで、条件に合う『行』を絞り込む操作が選択、必要な『列』だけを取り出す操作が射影。本問は仕入先と価格の条件で行を選択し、そのうえで商品名の列を射影した結果を答える形になっている。
  • 複数条件の組み立て方 — 『A社 かつ 140円以上』と『B社 かつ 170円以下』はそれぞれ AND で結ばれた条件であり、その二つを OR (どちらかに当てはまれば抽出) でまとめる。以上 (≧) は境界値を含み、以下 (≦) も境界値を含むので、不等号の向きと境界の扱いを表の各行に一つずつ機械的に当てはめて確認するのが確実。
用語

解答の記録