IPA過去問ドリル

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

テクノロジ/データベース

関係RとSにおいて,R÷Sの関係演算結果として適切なものはどれか。ここで,÷は除算を表す。 R 店,商品 A,a A,b B,a B,b B,c C,c D,c D,d E,d E,e S 商品 a b c (注:本サイトでは原問題の表を文字表記に変換しています)

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

正解:ウ

解説

関係演算の除算(÷)R÷Sは,Rの属性のうちSと共通しない属性(この場合は“店”)だけから成る関係であって,Sに含まれる全ての商品の組合せがR中に存在するような値だけを取り出す演算である。Sは商品a,b,cから成るので,各店についてRに現れる商品の集合を調べると,Aは{a,b},Bは{a,b,c},Cは{c},Dは{c,d},Eは{d,e}となる。このうち,Sの全ての商品(a,b,c)を含む店はBだけである。したがって,R÷Sの結果は,店の値が“B”の1行だけから成る関係になる。

選択肢ごとの解説

  • 誤り。この結果は,Rにおける“店”列の値をそのまま重複を除かずに列挙したものに近く,Sの全ての商品を保持しているかどうかによる絞り込みが行われていない。
  • 誤り。この結果は,Rに現れる店の重複のない一覧(A,B,C,D)であり,Sの全ての商品(a,b,c)を保有しているかどうかで絞り込んだ結果にはなっていない。
  • 正しい。Sに含まれる商品a,b,cの全てを保有している店はBだけであり,R÷Sの結果は店の値が“B”の1行だけから成る関係になる。
  • 誤り。店Eが保有する商品は{d,e}であり,Sの商品a,b,cのいずれも保有していないため,R÷Sの結果にEが含まれることはない。
データベーススペシャリストの過去問を演習モードで解く