DBデータベーススペシャリスト試験 午前Ⅱ
令和5年度秋期 データベーススペシャリスト 午前Ⅱ 問11
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題

選択肢
- ア(問題の図表を参照)
- イ(問題の図表を参照)
- ウ(問題の図表を参照)
- エ(問題の図表を参照)
解き方のヒントを見る
関係代数の商演算を読む視点
関係Rと関係Sの商演算を考えるときは、Sの属性値を満たす組合せをRの各組がどのように含むかという、関係同士の条件と結果の属性構成に注目してください。演算名だけで判断せず、入力と出力の対応を確認しましょう。
この問題で問われていること
この問題では、商演算が二つの関係の属性をどのように対応づけ、どの条件を満たした組だけを結果として残す操作なのかを整理することに集中してください。具体的なデータ値を仮定せず、関係の役割と判定条件の向きを読み取ることが重要です。
視点
商演算は、二つの関係に共通する属性と、結果に現れる属性の役割を区別して捉える概念です。まず関係スキーマの対応を確認し、その後に条件の意味を言葉で整理すると、演算の読み違いを防げます。
確認ポイント
- RとSで対応すると考える属性の範囲を確認する
- 結果の関係に残る属性と判定に使う属性を区別する
- 商演算の条件を集合全体への要求として読み直す
正解と解説を見る
正解
ウ
解説
関係Rを店ごとに確認し、関係Sにある商品a、b、cをすべて扱っている店だけを抽出する。該当する店はBです。
理由
Sの商品はa、b、cです。Rについて店ごとに商品を確認すると、Bはa、b、cのすべてを持つ。一方、A、C、D、EはいずれもSの全商品をそろえていないため、R÷Sの結果は店Bとなる。
比較
関係除算では、条件の一部に一致するだけでは結果に含まれない。Rの各店について、Sに列挙された商品をすべて満たすかを判定し、店の属性だけを結果として取り出す。
選択肢ア
これは不正解だよ。店AはRに商品aとbの組を持つが、Sに含まれる商品cとの組を持っていない。関係除算は条件の一部を満たす店ではなく、Sの全商品を扱う店を求めるため、Aは結果に含まれない。
選択肢イ
これは不正解だよ。店A、B、C、Dを並べているが、店Aは商品cを持たず、CとDもSの商品a、b、cをすべて持っていない。R÷Sでは対象ごとに全条件を確認する必要があり、この組合せは過不足がある。
選択肢ウ(正解)
これは正解だよ。店BはRに商品a、b、cとの組をすべて持っているため、Sに列挙された全商品という条件を満たす。ほかの店には不足する商品があるので、除算結果は店Bだけになる。
選択肢エ
これは不正解だよ。店EがRに持つ商品はdとeであり、Sの条件である商品a、b、cのいずれとも一致しない。したがって、Sの全商品を扱う店を求める関係除算の結果には含まれない。
学習のポイント
関係除算は、Sの条件をすべて満たすRの対象を求める演算として理解する。
出典:独立行政法人 情報処理推進機構(IPA)令和5年度秋期 データベーススペシャリスト試験 午前Ⅱ 問11(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針