ホーム > データベーススペシャリスト試験 > 2015年
データベーススペシャリスト試験 2015年 午前2 問09
関係RとSにおいてR÷Sの関係演算結果として適切なものはどれか。ここで, ÷は除算を表す。


ア:
イ:
ウ:(正解)
エ:
解説
関係RとSにおけるR÷Sの関係演算結果【午前2 解説】
要点まとめ
- 結論:R÷Sは「Sのすべての値に対してRに存在する店」を抽出する演算であり、正解はウの「店=B」です。
- 根拠:R÷Sは「Sの全商品を扱う店」を求めるため、Rの中でa,b,c全ての商品を持つ店を探す必要があります。
- 差がつくポイント:除算演算の意味を正確に理解し、部分集合関係を見極めることが重要です。
正解の理由
R÷Sは「Sに含まれるすべての商品を扱っている店」を抽出します。Sの商品はa,b,cです。
Rの中でa,b,c全ての商品を扱う店は「B」のみです。
Rの中でa,b,c全ての商品を扱う店は「B」のみです。
- 店Aはa,bのみでcがない
- 店Bはa,b,c全てを扱う
- 店Cはcのみ
- 店Dはc,dのみ
- 店Eはd,eのみ
したがって、正解はウの「店=B」です。
よくある誤解
R÷Sを単なる差集合や積集合と混同し、全商品の扱いを確認せずに部分的な一致で判断する誤りが多いです。
解法ステップ
- Sの属性(商品)を確認し、対象となる値を把握する(a,b,c)。
- Rの各店がSの全商品を扱っているかをチェックする。
- 全商品を扱う店のみを抽出する。
- 抽出結果を選択肢と照合し、該当するものを選ぶ。
選択肢別の誤答解説
- ア:店AやDが含まれているが、Aはcを扱っておらず、Dもa,bを扱っていないため誤り。
- イ:店AやDが含まれているが、Aはcを扱わず、Dはa,bを扱わないため誤り。
- ウ:店Bのみがa,b,c全ての商品を扱っているため正解。
- エ:店Eはd,eのみでa,b,cを扱っていないため誤り。
補足コラム
関係演算の除算(÷)は「ある関係Rに対して、関係Sのすべての値を持つタプルを抽出する」操作です。SQLの「NOT EXISTS」や「GROUP BY HAVING COUNT」句での全包含条件に相当し、データベース設計やクエリ作成で重要な概念です。
FAQ
Q: R÷Sはどのような場面で使われますか?
A: 例えば「全ての条件を満たす顧客」や「全商品を購入したユーザー」など、完全包含を確認する際に使います。
A: 例えば「全ての条件を満たす顧客」や「全商品を購入したユーザー」など、完全包含を確認する際に使います。
Q: R÷SとR−Sの違いは何ですか?
A: R−Sは差集合で、RにあってSにない要素を抽出しますが、R÷SはSの全要素を含むRの要素を抽出する除算演算です。
A: R−Sは差集合で、RにあってSにない要素を抽出しますが、R÷SはSの全要素を含むRの要素を抽出する除算演算です。
関連キーワード: 関係演算, 除算演算, データベース, 関係代数, 全包含, SQLクエリ