外部キーを理解する

外部キーは表同士の関連をデータとして表現する。主キーと違って値の重複が可能で、参照先の存在を保証する参照整合性と組み合わせて理解する。

この単元で学ぶこと

  • 外部キーの意味と役割を説明できる
  • 親表の意味と役割を説明できる
  • 子表の意味と役割を説明できる
  • 親表・子表・自己参照を含む外部キーの関係を説明できる

本文解説

外部キーは別表または同じ表の候補キー等を参照する属性・属性集合である。多対一関係では同じ外部キー値が複数の子行に現れる。

外部キー 他表または自表のキーを参照して関係を表す属性または属性集合。 参照先行との関連を持つ。

親表 参照されるキーを持つ側の表。 参照先の存在が関係の基準になる。

子表 外部キーを持って親表を参照する側の表。 多くの子行が同じ親を参照できる。

自己参照 同じ表の別行を外部キーで参照する関係。 階層構造を表せる。

NULL外部キー 関係が任意である場合に外部キーへNULLを許可する設計。 制約定義により可否を決める。

どの表のどの列が参照元で、どのキーを参照先にするかを矢印で描く。

部署表(部署ID PK)←社員表(部署ID FK)なら、社員側が子、部署側が親である。

図解

外部キーの親子関係
子表の外部キーが親表のキーを参照し、複数子行が同じ親へ結び付けられる。

重要ポイント

  • 外部キー: 他表または自表のキーを参照して関係を表す属性または属性集合。
  • 親表: 参照されるキーを持つ側の表。
  • 子表: 外部キーを持って親表を参照する側の表。
  • 自己参照: 同じ表の別行を外部キーで参照する関係。
  • 外部キーは関係を表し、同じ値が複数行に現れてよい。

間違えやすい点

  • 外部キーを必ず一意と考えない。
  • 参照元と参照先を逆にしない。
  • NULL許可は設計条件を確認する。

用語解説

外部キー
他表または自表のキーを参照して関係を表す属性または属性集合。
親表
参照されるキーを持つ側の表。
子表
外部キーを持って親表を参照する側の表。
自己参照
同じ表の別行を外部キーで参照する関係。
NULL外部キー
関係が任意である場合に外部キーへNULLを許可する設計。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。