IPA過去問ドリル

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

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

関係“履修”と関係“担当”を自然結合した結果はどれか。 履修 学生|科目 山田太郎|情報処理 山田太郎|代数 加藤花子|情報処理 担当 科目|教官 情報処理|鈴木一郎 代数|斎藤正樹 (注:本サイトでは原問題の表を文字表記に変換しています)

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

正解:ア

解説

自然結合(natural join)は,共通の属性名(この場合は“科目”)の値が一致する行同士を結合し,結果には共通属性を1列だけ残す演算です。履修表の各行について,科目の値が一致する担当表の行を結合すると,(山田太郎,情報処理,鈴木一郎),(山田太郎,代数,斎藤正樹),(加藤花子,情報処理,鈴木一郎)の3行が得られます。

選択肢ごとの解説

  • 正しい。共通属性“科目”の値が一致する行同士を結合し,共通属性を1列にまとめた結果であり,自然結合の定義どおりの結果です。
  • 誤り。共通属性である“科目”を1列にまとめず,履修.科目と担当.科目という2列として重複して残しており,自然結合の結果の形式ではありません。
  • 誤り。履修と担当のペアリングが,科目の値が一致しない行同士(例えば履修.科目が情報処理なのに担当.科目が代数)になっており,結合条件を満たさない誤った組合せです。
  • 誤り。履修表と担当表のすべての行同士を組み合わせた直積(クロス結合)の結果であり,科目の値が一致する行だけを残す自然結合の結果ではありません。
データベーススペシャリストの過去問を演習モードで解く