主キー・外部キー・参照整合性の違いと使い分け

キー関連の設問では、識別・参照・整合性維持という三つの役割を混同しないことが重要である。表のどちら側にあり、何を保証するかで判断する。

この単元で学ぶこと

  • 一意識別の意味と役割を説明できる
  • 参照表現の意味と役割を説明できる
  • 存在保証の意味と役割を説明できる
  • 同じ表設計の中で主キー・外部キー・参照整合性の役割を分離して判断できる

本文解説

主キーは自表行の一意識別、外部キーは関係表現、参照整合性はその関係が有効であることを保証する。三者は同じ列に関係する場合があっても役割は異なる。

一意識別 自表の各行を重複なく特定する役割。 主キーが中心。

参照表現 別表などのキー値を保持して関係を示す役割。 外部キーが中心。

存在保証 参照先が有効に存在することを保証する役割。 参照整合性が担う。

削除方針 親削除時に拒否・連鎖・NULL化などを選ぶ。 業務要件で決める。

複合関係 複数列のキーを外部キーで参照する関係。 列数・順序・対応を一致させる。

何を保証したいかを先に言葉にする。一意=主キー、関係=外部キー、存在の有効性=参照整合性。

部署.部署IDは主キー、社員.部署IDは外部キー、社員.部署IDが部署に存在することを守るのが参照整合性。

図解

識別・参照・整合性の役割分担
親の主キー、子の外部キー、両者の対応を守る参照整合性を分ける。

重要ポイント

  • 一意識別: 自表の各行を重複なく特定する役割。
  • 参照表現: 別表などのキー値を保持して関係を示す役割。
  • 存在保証: 参照先が有効に存在することを保証する役割。
  • 削除方針: 親削除時に拒否・連鎖・NULL化などを選ぶ。
  • 列名が同じでも親側と子側で役割が異なる。

間違えやすい点

  • 外部キーを一意識別用と決めつけない。
  • 参照整合性を列名一致だけと考えない。
  • 複合キー参照で列対応を取り違えない。

用語解説

一意識別
自表の各行を重複なく特定する役割。
参照表現
別表などのキー値を保持して関係を示す役割。
存在保証
参照先が有効に存在することを保証する役割。
削除方針
親削除時に拒否・連鎖・NULL化などを選ぶ。
複合関係
複数列のキーを外部キーで参照する関係。

関連教材

参考資料

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

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