主キー・外部キー・参照整合性の違いと使い分け
キー関連の設問では、識別・参照・整合性維持という三つの役割を混同しないことが重要である。表のどちら側にあり、何を保証するかで判断する。
この単元で学ぶこと
- 一意識別の意味と役割を説明できる
- 参照表現の意味と役割を説明できる
- 存在保証の意味と役割を説明できる
- 同じ表設計の中で主キー・外部キー・参照整合性の役割を分離して判断できる
本文解説
主キーは自表行の一意識別、外部キーは関係表現、参照整合性はその関係が有効であることを保証する。三者は同じ列に関係する場合があっても役割は異なる。
一意識別 自表の各行を重複なく特定する役割。 主キーが中心。
参照表現 別表などのキー値を保持して関係を示す役割。 外部キーが中心。
存在保証 参照先が有効に存在することを保証する役割。 参照整合性が担う。
削除方針 親削除時に拒否・連鎖・NULL化などを選ぶ。 業務要件で決める。
複合関係 複数列のキーを外部キーで参照する関係。 列数・順序・対応を一致させる。
何を保証したいかを先に言葉にする。一意=主キー、関係=外部キー、存在の有効性=参照整合性。
部署.部署IDは主キー、社員.部署IDは外部キー、社員.部署IDが部署に存在することを守るのが参照整合性。
図解
重要ポイント
- 一意識別: 自表の各行を重複なく特定する役割。
- 参照表現: 別表などのキー値を保持して関係を示す役割。
- 存在保証: 参照先が有効に存在することを保証する役割。
- 削除方針: 親削除時に拒否・連鎖・NULL化などを選ぶ。
- 列名が同じでも親側と子側で役割が異なる。
間違えやすい点
- 外部キーを一意識別用と決めつけない。
- 参照整合性を列名一致だけと考えない。
- 複合キー参照で列対応を取り違えない。
用語解説
- 一意識別
- 自表の各行を重複なく特定する役割。
- 参照表現
- 別表などのキー値を保持して関係を示す役割。
- 存在保証
- 参照先が有効に存在することを保証する役割。
- 削除方針
- 親削除時に拒否・連鎖・NULL化などを選ぶ。
- 複合関係
- 複数列のキーを外部キーで参照する関係。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。