データベーススペシャリスト 2022年 午前2 問10
問題文
和両立である関係RとSがある。R∩Sと等しいものはどれか。ここで、-は差演算、∩は共通集合演算を表す。
選択肢
ア:(R-S)-(S-R)
イ:R-(R-S)(正解)
ウ:R-(S-R)
エ:S-(R-S)
🔒 解説は解答すると表示されます
集合差と交差の関係【午前2解説】
正解の理由
選択肢イの式 は, を「 と の互いに素な(重ならない)部分に分ける」ことを利用すると, から を取り除くので残るのは だけになります。式で示すと次の通りです。
(右辺は互いに素)なので,
。
。
したがって は と等しく,これが本問の正解です。
解法ステップ
- 基本恒等式を思い出す:(右辺は互いに素)。
- 問題の式 に対して, を上式で置き換える。
- のうち を引けば,残るのは のみであると結論づける。
(補助的に補集合を使うと と示すこともできます。)
実戦的には「R を S と被る部分と被らない部分に分け,R から被らない部分を引けば被る部分だけ残る」とイメージするだけで速く解けます。
選択肢別の誤答解説
-
ア:
と は互いに交わらない(同一要素が両方に入ることはありえない)ため,差を取っても元の が残ります。よってアは と等しく, ではありません。 -
イ:
上の理由の通り, を と に分け,後者を取り除くため残るのは です。故に正しい選択です。 -
ウ:
は に含まれない要素だけからなるため, からそれらを引いても は変わりません。よってウは と等しい式になります()。 -
エ:
同様に は には含まれないため, から引いても影響がなく,エは と等しくなります。
よくある誤解
- 和両立(union-compatible)を「共通部分が存在する」と誤解する。正しくは「属性(スキーマ)が一致して集合演算(和・差・交差など)が適用可能な形であること」を指します。要素の有無(空であるか否か)を意味しません。
- 差演算の順序や括弧の影響を見落とし,例えば と を混同してしまう。差は順序依存であり,どの集合を引くかで結果が変わります。
- のような複合式を直感で「対称差」などと誤認する。まずは各部分を基本恒等式で分解して考えることが重要です。
補足コラム
和両立(和両立性, union-compatible)の説明:関係(テーブル)としての集合 と が和(∪)や差(−)などの集合演算に意味をもつためには,両者が同じ属性の集合(同じ列構造)を持っている必要があります。これは演算が要素単位で比較できるようにするための条件であり,「共通部分が必ず存在する」という意味ではありません。実際の集合演算は要素の包含関係に基づくので,空集合になることもあり得ます。
数学的に便利な恒等式(頻出)
- (分解)
- (差と補集合)
- (分配律)
これらを使い慣れておくと午前問題は速く正確に解けます。
FAQ
Q1: なぜアは になるのですか?
A1: と は互いに素(両方に同じ要素が入ることはありえない)なので,差を取っても から削られるものはなく,結果は のままです。
A1: と は互いに素(両方に同じ要素が入ることはありえない)なので,差を取っても から削られるものはなく,結果は のままです。
Q2: 補集合を使うときに「全体集合」はどう扱えばよいですか?
A2: 補集合を用いるときは常に議論している普遍集合(文脈上の全体集合)を意識します。関係(リレーション)の場合は,通常は属性・値の定義域に対応する全体を想定しますが,多くの解法では補集合導入は形式的操作として扱って差し支えありません(恒等式の適用に注意)。
A2: 補集合を用いるときは常に議論している普遍集合(文脈上の全体集合)を意識します。関係(リレーション)の場合は,通常は属性・値の定義域に対応する全体を想定しますが,多くの解法では補集合導入は形式的操作として扱って差し支えありません(恒等式の適用に注意)。
Q3: 直感的に見分けるコツは?
A3: 「A から (A に属しないもの) を引く」という形は A の中の被る部分だけを残す操作であることを覚えると速いです。逆に「A から A に含まれない集合を引く」場合は A が変わらないことが多い(引く集合が A に含まれていないため)ことを意識してください。
A3: 「A から (A に属しないもの) を引く」という形は A の中の被る部分だけを残す操作であることを覚えると速いです。逆に「A から A に含まれない集合を引く」場合は A が変わらないことが多い(引く集合が A に含まれていないため)ことを意識してください。
関連キーワード: 集合演算、差集合、交差集合、和両立、リレーショナル代数、集合恒等式

\ せっかくなら /
データベーススペシャリストを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

