応用情報技術者 2021年 秋期 午前2 問26
問題文
関係Rと関係Sに対して、関係Xを求める関係演算はどれか。

選択肢
ア:IDで結合
イ:差
ウ:直積
エ:和(正解)
関係Rと関係Sに対して、関係Xを求める関係演算はどれか【午前2 解説】
要点まとめ
- 結論:関係Xは関係Rと関係Sの「和(和集合)」であるため、正解はエです。
- 根拠:関係Xの行はRとSの全行を重複なく含み、RとSの行を単純に合わせた形になっています。
- 差がつくポイント:和集合と結合、差、直積の違いを正確に理解し、表の行数や内容から演算の種類を見抜く力が重要です。
正解の理由
関係Xの表を見ると、RとSのすべての行が含まれており、重複行は1回だけ表示されています。
- Rの行は3行、Sの行は2行ですが、ID=0001、A=a、B=100の行は両方に存在し、Xでは1回だけ表示。
- これが「和集合」の特徴であり、重複を除いたすべての行を含む演算です。
したがって、関係XはRとSの和集合であり、選択肢エが正解です。
よくある誤解
「結合」は共通の属性で行を結びつけるため行数が増えることが多いですが、今回のXは単純に行をまとめているだけです。
「差」は一方の関係にあって他方にない行だけを抽出するため、Xの行数や内容と合いません。
「差」は一方の関係にあって他方にない行だけを抽出するため、Xの行数や内容と合いません。
解法ステップ
- RとSの表の行数と内容を確認する。
- Xの表の行数と内容をRとSと比較し、どの演算結果かを推測する。
- 「和集合」は両方の行を重複なく含むことを確認。
- 「結合」「差」「直積」との違いを整理し、Xの表と照合。
- 最も合致する演算が「和集合(エ)」であると判断する。
選択肢別の誤答解説
- ア: IDで結合
→ 結合は共通のIDで行を結びつけるため、属性が増えたり行数が変わるが、Xは属性数が変わらず行数も合わない。 - イ: 差
→ 差はRからSにある行を除くため、Xの行数や内容が異なる。 - ウ: 直積
→ 直積は行数がRの行数×Sの行数になるため、Xの行数4は合わない。 - エ: 和
→ RとSの行を重複なくすべて含むため、Xの表と一致する。
補足コラム
関係演算の基本は「和(和集合)」「差」「直積」「結合(ジョイン)」の4つです。
- 和集合は同じ属性を持つ2つの関係の行を重複なく結合します。
- 差は一方にあって他方にない行を抽出します。
- 直積は2つの関係のすべての組み合わせを作ります。
- 結合は共通の属性をキーに行を結びつけ、新しい属性を持つ関係を作ります。
これらの特徴を理解し、表の行数や属性数の変化を見て判断することが重要です。
FAQ
Q: 和集合と結合の違いは何ですか?
A: 和集合は同じ属性の行を重複なくまとめる演算で、結合は共通の属性をキーに行を結びつけて新しい属性を持つ関係を作ります。
A: 和集合は同じ属性の行を重複なくまとめる演算で、結合は共通の属性をキーに行を結びつけて新しい属性を持つ関係を作ります。
Q: 直積の行数はどう計算しますか?
A: 直積の行数は、元の2つの関係の行数の積(掛け算)になります。
A: 直積の行数は、元の2つの関係の行数の積(掛け算)になります。
関連キーワード: 関係演算、和集合、差集合、直積、結合、リレーショナルデータベース、SQL基礎

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

