本文へスキップ

令和2年度 ITパスポート試験 問73

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

問73
頻出度★★☆

関係データベースにおいて,表Aと表Bの積集合演算を実行した結果はどれか。 表A

品名価格
ガム100
せんべい250
チョコレート150

表B

品名価格
せんべい250
チョコレート150
どら焼き100
  • 品名価格
    ガム100
    せんべい250
    チョコレート150
    どら焼き100
  • 品名価格
    ガム100
    せんべい500
    チョコレート300
    どら焼き100
  • 品名価格
    せんべい500
    チョコレート300
  • 品名価格
    せんべい250
    チョコレート150
出典 令和2年度 ITパスポート試験 問73
解説

問 73

  • 不正解ア

    ガム・せんべい・チョコレート・どら焼きの全4行を集めた表で、これは両方のいずれかに現れる行をまとめた和集合(合併)の結果です。共通行だけを残す積集合ではないため誤りです。

  • 不正解イ

    4行すべてを残したうえに、共通するせんべいを500、チョコレートを300と価格を合算しています。集合演算は行の集合を扱うだけで価格を足し算しません。行の増やし方も価格の扱いも誤りです。

  • 不正解ウ

    共通する品名(せんべい・チョコレート)を選べている点は積集合に近いものの、価格をせんべい500・チョコレート300と合算しています。積集合では価格を含めた行全体が一致する必要があり、値も元のままなので誤りです。

  • エ

    正解 積集合(共通集合)演算は、列構成が同じ二つの表について「両方に共通して存在する行」だけを取り出す集合演算です。表Aと表Bを1行ずつ突き合わせると、行の値(品名と価格の組)が完全に一致するのはせんべい/250とチョコレート/150の2行だけです。表Aだけにあるガム/100や、表Bだけにあるどら焼き/100は共通ではないため含まれません。したがって結果はせんべい/250とチョコレート/150の2行からなる表となり、エが正解です。価格はもとの値のまま変わらない点にも注意します。

ここがポイント
  • 関係データベースの集合演算:積集合は列構成が同じ二表の共通行だけを残す(和集合は少なくとも一方にある行を全て残し、差集合は一方だけにある行を残す)。
  • 集合演算は行(タプル)の集合を扱う操作であり、価格などの数値を加算・演算することはなく、選ばれた行の値はそのまま保たれる。
用語

解答の記録