データベース|令和2年度 10月 ITパスポート試験(特別措置試験) 問73
関係データベースにおいて,表Aと表Bの積集合演算を実行した結果はどれか。
表A
| 品名 | 価格 |
|---|---|
| ガム | 100 |
| せんべい | 250 |
| チョコレート | 150 |
表B
| 品名 | 価格 |
|---|---|
| せんべい | 250 |
| チョコレート | 150 |
| どら焼き | 100 |
- ガム100/せんべい250/チョコレート150/どら焼き100(4行)
- ガム100/せんべい500/チョコレート300/どら焼き100(4行)
- せんべい500/チョコレート300(2行)
- ✓ これが正解せんべい250/チョコレート150(2行)
解説
両方の表にそろって現れる二行が、そのままの値で残ります。
関係データベースには、二つの表を集合とみなして組み合わせる関係演算があります。積集合は、そのうち、両方の表にそろって現れる行だけを取り出す演算です。表Aはガム100、せんべい250、チョコレート150の三行です。表Bはせんべい250、チョコレート150、どら焼き100の三行です。両方に同じ形でそろっているのは、せんべい250とチョコレート150の二行です。ガム100は表Aにしかなく、どら焼き100は表Bにしかないので、どちらも残りません。また、積集合は行を取り出す演算であって、数を足し合わせる演算ではありません。取り出した行は、もとの表に書かれていた値のまま残ります。どちらか一方にでもあれば残すのは和集合で、これとは別の演算です。よって最も適切なのは、せんべい250とチョコレート150の二行です。
ほかの選択肢はなぜ違うのか
- 四行すべてが並んでいますが、これはどちらか一方にあれば残すという取り方をした結果です。片方の表にしか出てこない行まで含まれてしまっており、両方にそろっているものだけを残すという条件から外れています。取り方そのものが違います。条件が緩すぎます。
- 四行が並んでいる点で取り方が違ううえに、価格まで書き換えられています。両方に出てくる二品の値が、二つ分を足した数になっており、行をそのまま取り出すという演算の性質にも合いません。二重に外れていることになります。
- 残っている品名は合っていますが、価格が二つ分を足した数になっています。取り出す演算は、行をそのままの姿で写し取るものであって、同じ品名どうしの数をまとめて計算するものではありません。値を触っている点が誤りです。
この問題に関係する言葉
- 関係データベースデータを表の形で持ち、表どうしを結びつけて扱う、最も広く使われているデータベース。設計に使うE-R図は、この形での実装を前提にしません。
- 積集合
出典:令和2年度 10月 ITパスポート試験(特別措置試験) 問73
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)