DBデータベーススペシャリスト試験 午前Ⅱ

平成30年度春期 データベーススペシャリスト 午前Ⅱ 問9

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

関係R,Sの等結合演算は,どの演算によって表すことができるか。

選択肢

  1. ア
    共通
  2. イ
    差
  3. ウ
    直積と射影と差
  4. エ
    直積と選択
解き方のヒントを見る

結合演算を見分ける基本視点

関係代数の結合演算を考えるときは、対象となる関係のつながり方と、結合後に残る情報の範囲を整理し、表記だけで判断せず、処理の目的や定義との対応を確認します。さらに、各表現が何を入力として想定しているかにも注目します。

この問題で問われていること

一つの観点として、演算がどの属性や条件を手掛かりに関係を結び付け、結果にどの情報を引き継ぐ想定なのかを、問題文中の定義や説明と照らして確認してください。記号の形ではなく、意味の対応を丁寧に見ることが大切です。

視点

結合演算の表現を比較するときは、記号の見た目よりも、入力となる関係、対応付けの条件、結果として扱う属性の範囲が、説明上どのように結び付いているかを整理します。

確認ポイント

  • 結び付ける対象と対応付けの条件を確認する
  • 演算後に扱われる属性の範囲を確認する
  • 表記と説明が同じ処理目的を示すか確認する
正解と解説を見る

正解

エ

解説

関係RとSの等結合は、まずRとSの全ての組合せを作り、その中から結合属性の値が等しい組だけを選択することで表現できる。したがって、直積と選択を用いるエが正しい。

理由

等結合は、結合条件に指定された属性の値が等しいタプル同士を組み合わせる演算です。関係RとSの直積を求めると、両関係のタプルの全組合せが得られる。その後、結合条件を満たす組だけを選択すれば、等結合と同じ結果になる。

比較

共通は共通部分を求める演算であり、等結合のように異なる関係のタプルを条件付きで組み合わせる処理を表さない。差は一方の関係から他方に含まれる組を除く演算です。直積と射影と差の組合せも、等結合を直接表す基本的な分解ではありません。

選択肢ア

これは不正解だよ。共通は、二つの関係に同じタプルが存在する部分を取り出す演算である。等結合では、RとSのタプルを結合属性の値が等しい条件で組み合わせるため、単純に共通するタプルだけを求める共通演算では表せない。

選択肢イ

これは不正解だよ。差は、一方の関係にあるタプルから、他方の関係にも存在するタプルを除く演算である。等結合は条件を満たす二つの関係のタプルを組として作る処理なので、除外を行う差だけでは結合結果を表現できない。

選択肢ウ

これは不正解だよ。直積は候補となる全組合せを作るが、射影は指定属性の列を取り出す演算であり、結合条件に合う組だけを残す役割ではない。等結合に必要な条件判定をこの組合せだけで表すことはできない。

選択肢エ(正解)

これは正解だよ。直積によってRとSのタプルの全組合せを作り、その中から結合属性の値が等しい組だけを選択すれば、等結合の結果になる。等結合を基本的な関係代数演算へ分解した表現として適切である。

学習のポイント

等結合を基本演算へ分解し、直積で候補を作って選択で条件を適用する流れを理解する。

出典:独立行政法人 情報処理推進機構(IPA)平成30年度春期 データベーススペシャリスト試験 午前Ⅱ 問9(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針