主キー・外部キー・参照整合性の全体像

複数の表を関連付けるとき、主キーで親側の行を識別し、外部キーでその値を参照する。参照整合性は存在しない親を指すデータなどを防ぐためのルールである。

この単元で学ぶこと

  • 主キーの意味と役割を説明できる
  • 外部キーの意味と役割を説明できる
  • 参照整合性の意味と役割を説明できる
  • 主キー・外部キー・参照整合性と削除時動作を区別できる

本文解説

主キーは自表の一意識別、外部キーは他表または自表の候補キー等への参照、参照整合性は参照関係を有効に保つ制約である。削除・更新時の動作も考える。

主キー 表の各行を一意に識別する属性または属性集合。 重複・NULLを許さない設計が基本。

外部キー 別表などのキーを参照して表同士の関係を表す属性または属性集合。 同じ値が複数行に現れることがある。

参照整合性 外部キー値が参照先の有効なキーに対応する等、参照関係を正しく保つ性質。 孤児データを防ぐ。

CASCADE 親側の更新・削除に合わせ関連する子側へ処理を連鎖させる設定。 意図しない大量削除を避けるため用途を確認する。

RESTRICT/NO ACTION 参照されている親行の削除などを制限する考え方。 子が残る場合に整合性破壊を防ぐ。

一意識別なら主キー、関連を持つ列なら外部キー、存在しない参照防止なら参照整合性。

部署(部署ID PK)と社員(社員ID PK,部署ID FK)では、社員.部署IDは部署表に存在する値へ対応する。

図解

主キーと外部キーの参照関係
親表の主キーを子表の外部キーが参照し、参照整合性で関係を守る。

重要ポイント

  • 主キー: 表の各行を一意に識別する属性または属性集合。
  • 外部キー: 別表などのキーを参照して表同士の関係を表す属性または属性集合。
  • 参照整合性: 外部キー値が参照先の有効なキーに対応する等、参照関係を正しく保つ性質。
  • CASCADE: 親側の更新・削除に合わせ関連する子側へ処理を連鎖させる設定。
  • 外部キーは一意である必要はなく、同じ部署を複数社員が参照できる。

間違えやすい点

  • 外部キーを必ず主キーと同じく一意だと考えない。
  • 親削除時の動作をCASCADE一択と考えない。
  • 参照整合性を主キーの一意性だけと混同しない。

用語解説

主キー
表の各行を一意に識別する属性または属性集合。
外部キー
別表などのキーを参照して表同士の関係を表す属性または属性集合。
参照整合性
外部キー値が参照先の有効なキーに対応する等、参照関係を正しく保つ性質。
CASCADE
親側の更新・削除に合わせ関連する子側へ処理を連鎖させる設定。
RESTRICT/NO ACTION
参照されている親行の削除などを制限する考え方。

関連教材

参考資料

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

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