DBデータベーススペシャリスト試験 午前Ⅱ
令和6年度秋期 データベーススペシャリスト 午前Ⅱ 問11
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア共通集合
- イ差集合
- ウ直積
- エ和集合
解き方のヒントを見る
関係代数の条件を見極める視点
演算名や記号だけで判断せず、各操作が前提とする対象の組み合わせ方に注目して、問題文の条件と照らし合わせながら整理しましょう。
この問題で問われていること
確認する観点は、演算を適用する前に対象同士の構造や対応関係がどのように指定されているかです。記号の暗記より前提条件の読み取りを優先します。
視点
関係代数の演算を考えるときは、まず入力となる対象がどのような関係を持ち、操作の前提と整合しているかを一つの視点として確認します。
確認ポイント
- 対象となる関係同士に、操作の前提と合う対応が示されているか。
- 演算を適用する前提条件と、問題文で与えられた条件を分けて読めているか。
- 記号の印象ではなく、入力対象の構造に基づいて判断できているか。
正解と解説を見る
正解
ウ
解説
関係RとSが和両立である必要のない演算は直積です。和集合、共通集合、差集合では、対応する属性を比較しながら行を統合または選別するため、RとSの属性数と対応する属性のドメインが一致している必要があります。一方、直積はRの各行とSの各行を組み合わせ、属性を連結した新しい関係を作る演算です。
理由
和両立とは、二つの関係の属性数が等しく、対応する属性のドメインが一致していることです。和集合、共通集合、差集合は、二つの関係の行を同じ構造のものとして扱うため、この条件が必要になります。
比較
直積は、Rの各行とSの各行を組み合わせ、RとSの属性を連結した結果を作ります。RとSが同じ属性構成であることを前提に行を比較する演算ではないため、和両立である必要はありません。
選択肢ア
これは不正解だよ。共通集合は、RとSの両方に存在する行を取り出す演算です。行が同じ関係の行として比較できる必要があるため、対応する属性の数とドメインが一致する和両立が必要になります。
選択肢イ
これは不正解だよ。差集合は、Rに含まれ、Sには含まれない行を取り出す演算です。Rの行とSの行を比較して選別するため、両関係の属性を対応付けられる和両立が必要になります。
選択肢ウ(正解)
これは正解だよ。直積は、Rの各行とSの各行を組み合わせ、両関係の属性を連結した行を作る演算です。RとSの行を同じ属性構成として比較する必要がないため、和両立である必要はありません。
選択肢エ
これは不正解だよ。和集合は、RまたはSに含まれる行を一つの関係としてまとめる演算です。二つの関係の行を同じ構造として扱う必要があるため、属性数と対応するドメインが一致する和両立が必要になります。
学習のポイント
和両立の条件と、関係演算ごとの属性の扱いを区別して覚えましょう。
出典:独立行政法人 情報処理推進機構(IPA)令和6年度秋期 データベーススペシャリスト試験 午前Ⅱ 問11(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針