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

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

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

問題

関係RとSにおいて,R÷Sの関係演算結果として適切なものはどれか。ここで,÷は除算を表す。
店と商品の組を格納する関係R,商品a・b・cを格納する関係S,及び除算結果の候補となる四つの店の表。
店と商品の組を格納する関係R,商品a・b・cを格納する関係S,及び除算結果の候補となる四つの店の表。

選択肢

  1. ア
    A,A,B,B,B,C,D
  2. イ
    A,B,C,D
  3. ウ
    B
  4. エ
    E
解き方のヒントを見る

関係代数の除算を考える視点

除算の結果を判断するときは、対象となる関係どうしの役割と、片方の関係に含まれる条件がもう片方の各要素にどう関係するかを整理し、個別の値よりも対応関係の全体像に注目します。

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

確認の中心は、除算によって調べたい対象と、すべて満たすことを求める条件側の対応を区別できているかです。関係の属性や組の単位をそろえて、条件の適用範囲を落ち着いて見直します。

視点

除算を検討する際は、まず二つの関係が表す対象を分けて捉え、どの属性を基準に対応を確認するかを整理します。そのうえで、条件が一部に当てはまる場合と全体に関わる場合を混同しないよう、関係の向きと範囲を見直します。

確認ポイント

  • 対象となる関係と条件を表す関係の役割を区別できているか
  • 対応付けに使う属性と、結果として残る対象を整理できているか
  • 条件の適用範囲を、個別の一致ではなく全体との関係で確認できているか
正解と解説を見る

正解

ウ

解説

関係除算R÷Sでは、Sに存在する商品をすべて扱っている店舗だけが結果に残ります。Rの各店舗の商品をSの商品集合と照合すると、条件を満たす店舗はBだけです。

理由

Sの商品はa、b、cです。Rの店舗ごとに確認すると、Aはaとbだけでcがなく、Bはa、b、cをすべて持っています。Cはcだけ、Dはcを含むもののaとbがなく、Eはdとeだけです。したがって、R÷Sの結果はBになります。

比較

関係除算では、Sの行のいずれか一つに対応すればよいのではなく、Sにある条件をすべて満たす必要があります。店舗名だけを重複なしで取り出す点にも注意します。

選択肢ア

これは不正解だよ。Aは商品aとbを扱っていますが、Sに含まれる商品cとの組合せがRにありません。また、Bを重複して並べることも関係除算の結果の表し方と合いません。必要な全商品を満たす店舗名を重複なしで示す必要があります。

選択肢イ

これは不正解だよ。Aはaとbだけでcがなく、Cはcだけ、Dはcとdだけなので、いずれもSの商品a、b、cをすべて満たしていません。店舗を一つでも商品条件の一部だけで選ぶことはできません。

選択肢ウ(正解)

これは正解だよ。Sには商品a、b、cがあり、Rでは店舗Bがa、b、cのすべてを扱っています。関係除算はSの全行に対応するRの店舗を取り出すため、結果は店舗Bとなります。

選択肢エ

これは不正解だよ。店舗Eに対応するRの行は商品dとeであり、Sに含まれる商品a、b、cのいずれも扱っていません。Sの条件をすべて満たす必要があるため、Eを除算結果に含めることはできません。

学習のポイント

関係除算は「すべての条件を満たすもの」を抽出する演算として理解しましょう。

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

関連する過去問一覧

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