戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2011年 秋期 午前(科目A)32


問題文

同じ属性から成る関係RとSがある。RとSの属性値の一部が一致する場合、関係演算R-(R-S)と同じ結果が得られるものはどれか。ここで、-は差集合、は共通集合、は和集合、×は直積、÷は商の演算を表す。

選択肢

RS(正解)
RS
R×S
R÷S

関係演算 R-(R-S) の結果はどれか 【午前2 解説】

要点まとめ

  • 結論:R-(R-S) は R と S の共通部分、すなわち と等しくなります。属性が同一である前提です。
  • 根拠:要素 に入るのは かつ 、この条件は かつ と同値だからです。
  • 差がつくポイント:集合の元をひとつ取り出して「入る/入らない」を考えることで、集合式の等価性を確実に示せます。計算ミスは論理の漏れが原因です。

正解の理由

R-(R-S) の要素条件を直接考えます。
x が R-(R-S) に属するとは「 かつ 」です。 は「 または 」に等しいですが、同時に が必要なので「 かつ 」に絞られます。したがって R-(R-S) = となり、選択肢の中では交差(共通集合)に当たります。
代数的にも示せます。集合の補集合とデ・モルガンの法則を用いると次が成り立ちます:
以上より正解は ア: RS です。

よくある誤解

  • 「差集合の外側を取れば元の集合に戻る」と誤解して と答えてしまうこと。 から引いた分を取り戻すわけではありません。
  • 演算記号を単なる記号的操作と見なし、要素ごとの論理(存在条件)を考えないで暗算するために間違えること。
  • 直積や商を選ぶ人は「要素の組み合わせ」や「除算」を混同しており、属性一致と集合演算の違いを見落としています。

解法ステップ

  1. 「x が集合に属する」視点で問題を読み替える:x ∈ R-(R-S) の定義を確認する。
  2. 条件を分解する:x ∈ R かつ x ∉ (R-S)。ここで x ∉ (R-S) を論理和に展開する。
  3. R の条件と組み合わせて簡約する:x ∈ R かつ (x ∉ R または x ∈ S) → x ∈ R かつ x ∈ S。
  4. 結果を集合記法で表すと になり、選択肢と照合する。

選択肢別の誤答解説

  • ア: RS — 正解。上記の論理展開により等しいことが示されます。
  • イ: RS — 誤り。和集合は R または S に含まれる全ての要素を含み、差集合の除去操作とは方向が逆です。
  • ウ: R×S — 誤り。直積はタプルの組を生成する操作で、要素の選択条件(包含/除外)とは次元が違います。
  • エ: R÷S — 誤り。商(除算)は概念的に「R のうち S に対応する条件を満たす行」を求める特殊操作で、この差集合の単純な論理式とは一致しません。

補足コラム

  • 直感的な例を示します。R={1,2,3}, S={2,4} のとき、まず 、次に であり と一致します。
  • 関係代数では属性(列)の集合が同じであることが集合演算の前提です。属性が異なると和や差、交差は定義できません。
  • SQL で同様の操作を表す場合、R INTERSECT S は に対応し、R EXCEPT (R EXCEPT S) は同じ結果になることを確認できます(DBMS により EXCEPT の挙動に注意)。

FAQ

Q1: 属性が違う場合はどうなるのですか?
A1: 属性(列)が一致しないと集合演算(差、和、交差)は定義されません。まずスキーマを揃える必要があります。
Q2: R-(S-R) と R-(R-S) は同じですか?
A2: 一般には異なります。順序が変わると含まれる要素の条件が変わるため別の集合になります。
Q3: なぜ直積や商が候補にあるのですか?
A3: 試験では演算の意味を混同しがちです。直積は組の生成、商は特定の条件を満たす行の抽出であり、差集合の論理とは次元が違います。

関連キーワード: 関係代数、差集合、共通集合、和集合、直積、商、集合律、デ・モルガン、SQL INTERSECT、Venn図
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について