本文へスキップ

平成23年度 秋期 ITパスポート試験 問65

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

問65
頻出度★★☆

関係データベースの A 表,B 表がある。A 表,B 表に対して(A∪B),(A∩B)を行った結果は,それぞれ P 表,Q 表及び R 表のどれになるか。ここで,∪は和集合演算,∩は共通集合演算を表す。 A

商品コード商品名定価
P001プリンタ12,000
P003PC65,800
P007USB ハブ6,280
P012OA チェア14,200
P019OA デスク25,600

B

商品コード商品名定価
P003PC65,800
P007USB ハブ6,280
P020USB メモリ3,000

P

商品コード商品名定価
P003PC65,800
P007USB ハブ6,280

Q

商品コード商品名定価
P001プリンタ12,000
P012OA チェア14,200
P019OA デスク25,600

R

商品コード商品名定価
P001プリンタ12,000
P003PC65,800
P007USB ハブ6,280
P012OA チェア14,200
P019OA デスク25,600
P020USB メモリ3,000
出典 平成23年度 秋期 ITパスポート試験 問65
解説

問 65

  • 不正解ア

    (A∪B) を P 表、(A∩B) を R 表としていますが、和集合と共通集合が完全に逆になっています。P 表は 2 行だけで A 表の P001・P012・P019 が抜けており、和集合ならば少なくとも A 表の全行を含むはずなので成り立ちません。また R 表は 6 行あり、A 表にしかない行や B 表にしかない行 (P020) まで含んでいるため、両表に共通する行だけを残す共通集合の結果にはなりません。

  • 不正解イ

    (A∪B) を Q 表としていますが、Q 表 {P001, P012, P019} は A 表にあって B 表にない行だけを集めたもの、すなわち差集合 A−B の結果です。和集合なら B 表だけにある P020 も含まれなければならず、Q 表には P020 も P003・P007 も無いので誤りです。(A∩B) を R 表とする点も、6 行すべてが両表に共通しているわけではないため成り立ちません。

  • ウ

    正解 正解は「ウ」で、(A∪B) が R 表、(A∩B) が P 表になります。和集合演算 (∪) は、2 つの表のすべての行を集めて重複行を 1 つにまとめる操作です。A 表の 5 行 {P001, P003, P007, P012, P019} と B 表の 3 行 {P003, P007, P020} を合わせると、共通する P003 と P007 は 1 行ずつにまとめられるので、結果は {P001, P003, P007, P012, P019, P020} の 6 行になります。これは R 表とぴったり一致します。一方、共通集合演算 (∩) は、両方の表に共通して存在する行だけを取り出す操作です。A 表と B 表の両方にある行は P003 (PC, 65,800) と P007 (USB ハブ, 6,280) の 2 行だけで、これは P 表と一致します。したがって (A∪B) が R、(A∩B) が P となる「ウ」が正しい組合せです。

  • 不正解エ

    (A∪B)=R 表という前半は正しいものの、(A∩B) を Q 表としている後半が誤りです。Q 表 {P001, P012, P019} は A 表だけに存在する行の集まり (差集合 A−B) であり、B 表には 1 行も含まれていません。共通集合は両方の表に存在する行だけを取り出すので、正しくは P003 と P007 からなる P 表になります。和集合が合っていても共通集合が違えば組合せとして不正解です。

ここがポイント
  • 関係データベースの集合演算: 和集合 (∪) は 2 表の全行を重複を除いてまとめたもの、共通集合 (∩) は両表に共通する行だけを残したもの、差集合 (−) は一方の表にだけある行を残したもの。いずれも列構成 (定義域) が同じ表どうしでのみ行える。
  • 行数で素早く見当をつける方法: A が 5 行、B が 3 行、共通が 2 行なら、和集合は 5+3−2=6 行、共通集合は 2 行になる。この 6 行の表 (R) と 2 行の表 (P) を選択肢表と照合すれば答えが決まる。3 行の Q 表は差集合 A−B に対応する引っ掛けである。
用語

解答の記録