自然結合とは?
自然結合とは、両方の関係に共通する名前の属性で等結合し、重複する属性を1つにまとめた結合。
データベーススペシャリスト試験の過去問では4回出題されています(2018年度〜2024年度)。
しぜんけつごう
自然結合の意味
両方の関係に共通する名前の属性で等結合し、重複する属性を1つにまとめた結合。
自然結合の具体例
社員表と部門表に共通の「部門コード」があれば、それを条件に結合して部門コード列は1列だけ残る。
自然結合は試験でどう引っ掛けられる?
SQLのNATURAL JOINは同名列を自動的に結合条件にするため、意図しない列(登録日など)まで条件に含まれる事故が起きやすい。
自然結合と関連する用語
自然結合が出た過去問
関係R, Sの等結合演算は、どの演算によって表すことができるか。
要点:等結合は直積を作って結合条件で選択したもの
等結合は、まず二つの関係の直積を作り、そこから指定した属性の値が等しいタプルだけを選択することで得られる。すなわち直積と選択の組合せで表現できる。なお、重複する結合列を取り除いた自然結合ではさらに射影が必要になる。
出典:平成30年度 春期 データベーススペシャリスト試験 am2 問9(IPA)関係モデルにおいて、情報無損失分解ができ、かつ、関数従属性保存が成り立つ変換が必ず存在するものはどれか。ここで、情報無損失分解とは自然結合によって元の関係が復元…
要点:第3正規形までは無損失かつ関数従属性保存の分解が必ず存在
第3正規形までであれば、自然結合で元の関係を復元できる分解でありながら、元の関数従属をすべて分解後の関係に残す変換が必ず存在することが知られている。ボイス・コッド正規形以降では無損失分解はできても関数従属性の保存が犠牲になる場合があるため、アが正しい。
出典:令和5年度 秋期 データベーススペシャリスト試験 am2 問6(IPA)便名に対して、客室乗務員名の集合及び搭乗者名の集合が決まる関係"フライト"がある。関係"フライト"に関する説明のうち、適切なものはどれか。ここで、便名、客室乗務…
正解:関係"フライト"は、情報無損失分解が可能である。
要点:多値従属を持つ関係は無損失に分解でき、第4正規形へ進む
便名が決まると乗務員名の集合と搭乗者名の集合がそれぞれ独立に決まるため、この関係には多値従属が存在し、両者の全組合せが行として並んでいる。全属性が主キーを構成するので関数従属の観点では問題がないが、便名と乗務員、便名と搭乗者の2つの関係へ分ければ自然結合で元へ戻せる。よってウが適切。
出典:令和5年度 秋期 データベーススペシャリスト試験 am2 問7(IPA)"商品"表と"納品"表を商品番号で等結合した結果はどれか。
正解:商品番号・商品名・価格・商品番号・顧客番号・納品数の列(商品番号が2列)を持ち、S01/ボールペン/150/S01/C01/10、S01/ボールペン/150/S01/C02/30、S02/消しゴム/80/S02/C02/20、S02/消しゴム/80/S02/C03/40、S03/クリップ/200/S03/C03/60 の5行(納品明細ごとに1行)。
要点:等結合は結合列を重複したまま残す(自然結合との違い)
等結合は直積のうち結合条件が成り立つ組だけを残す演算で、自然結合と違って重複する結合列は消去されない。したがって結果には商品側と納品側の商品番号が2列とも現れる。行数は納品側の明細数に一致し、1商品に複数明細があればその数だけ商品情報が繰り返される。
出典:令和6年度 秋期 データベーススペシャリスト試験 am2 問9(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。