ホーム > データベーススペシャリスト試験 > 2010年
データベーススペシャリスト試験 2010年 午前2 問13
関係“履修”関係“担当”を自然結合した結果はどれか。


ア:(正解)
イ:
ウ:
エ:
解説
関係“履修”関係“担当”を自然結合した結果はどれか。【午前2 解説】
要点まとめ
- 結論:自然結合は両表の共通属性「科目」を基に結合し、重複列を1つにまとめた表を作成します。
- 根拠:「履修」と「担当」表の「科目」列が共通であり、これをキーに結合するため、科目ごとに学生と教官が対応します。
- 差がつくポイント:自然結合は共通列の値が一致する行のみ結合し、重複列は1列にまとめる点を正確に理解することが重要です。
正解の理由
選択肢アは、「履修」と「担当」表の共通属性「科目」をキーに自然結合した結果を正しく表しています。
具体的には、学生と科目の組み合わせに対して、その科目を担当する教官が対応し、科目列は1つにまとめられています。
他の選択肢は、共通列の重複や不適切な組み合わせが含まれており、自然結合の定義に合致しません。
具体的には、学生と科目の組み合わせに対して、その科目を担当する教官が対応し、科目列は1つにまとめられています。
他の選択肢は、共通列の重複や不適切な組み合わせが含まれており、自然結合の定義に合致しません。
よくある誤解
自然結合は単なる結合ではなく、共通列の値が一致する行だけを結合し、重複列を1つにまとめることを忘れがちです。
また、単純な結合(クロス結合や内部結合)と混同し、全ての組み合わせを出力してしまう誤りも多いです。
また、単純な結合(クロス結合や内部結合)と混同し、全ての組み合わせを出力してしまう誤りも多いです。
解法ステップ
- 「履修」と「担当」表の共通属性を確認する(ここでは「科目」)。
- 共通属性「科目」の値が一致する行を探す。
- 一致する行同士を結合し、共通属性の列は1つにまとめる。
- 結合結果の表を作成し、学生・科目・教官の3列に整理する。
- 結果と選択肢を比較し、自然結合の定義に合致するものを選ぶ。
選択肢別の誤答解説
- イ:共通列「科目」が重複しており、自然結合の重複列削除ルールに反しています。
- ウ:科目の組み合わせが入れ替わっており、共通属性の値が一致しない行同士を結合しています。
- エ:全ての組み合わせを出力しており、自然結合ではなくクロス結合に近い結果です。
補足コラム
自然結合(Natural Join)はリレーショナルデータベースの基本操作の一つで、共通の属性を持つ2つの関係から、共通属性の値が一致する行だけを結合し、重複する列を1つにまとめます。
SQLでは
SQLでは
NATURAL JOIN
句で表現され、データの整合性を保ちながら効率的に結合できます。FAQ
Q: 自然結合と内部結合の違いは何ですか?
A: 内部結合は結合条件を指定して行を結合しますが、自然結合は共通属性を自動的に条件として使い、重複列を1つにまとめます。
A: 内部結合は結合条件を指定して行を結合しますが、自然結合は共通属性を自動的に条件として使い、重複列を1つにまとめます。
Q: 自然結合で共通列の値が一致しない場合はどうなりますか?
A: 一致しない行は結合結果に含まれません。自然結合は共通列の値が一致する行のみを結合します。
A: 一致しない行は結合結果に含まれません。自然結合は共通列の値が一致する行のみを結合します。
関連キーワード: 自然結合, リレーショナルデータベース, SQL, 内部結合, データベース結合