主キー・外部キー・参照整合性の全体像
複数の表を関連付けるとき、主キーで親側の行を識別し、外部キーでその値を参照する。参照整合性は存在しない親を指すデータなどを防ぐためのルールである。
この単元で学ぶこと
- 主キーの意味と役割を説明できる
- 外部キーの意味と役割を説明できる
- 参照整合性の意味と役割を説明できる
- 主キー・外部キー・参照整合性と削除時動作を区別できる
本文解説
主キーは自表の一意識別、外部キーは他表または自表の候補キー等への参照、参照整合性は参照関係を有効に保つ制約である。削除・更新時の動作も考える。
主キー 表の各行を一意に識別する属性または属性集合。 重複・NULLを許さない設計が基本。
外部キー 別表などのキーを参照して表同士の関係を表す属性または属性集合。 同じ値が複数行に現れることがある。
参照整合性 外部キー値が参照先の有効なキーに対応する等、参照関係を正しく保つ性質。 孤児データを防ぐ。
CASCADE 親側の更新・削除に合わせ関連する子側へ処理を連鎖させる設定。 意図しない大量削除を避けるため用途を確認する。
RESTRICT/NO ACTION 参照されている親行の削除などを制限する考え方。 子が残る場合に整合性破壊を防ぐ。
一意識別なら主キー、関連を持つ列なら外部キー、存在しない参照防止なら参照整合性。
部署(部署ID PK)と社員(社員ID PK,部署ID FK)では、社員.部署IDは部署表に存在する値へ対応する。
図解
重要ポイント
- 主キー: 表の各行を一意に識別する属性または属性集合。
- 外部キー: 別表などのキーを参照して表同士の関係を表す属性または属性集合。
- 参照整合性: 外部キー値が参照先の有効なキーに対応する等、参照関係を正しく保つ性質。
- CASCADE: 親側の更新・削除に合わせ関連する子側へ処理を連鎖させる設定。
- 外部キーは一意である必要はなく、同じ部署を複数社員が参照できる。
間違えやすい点
- 外部キーを必ず主キーと同じく一意だと考えない。
- 親削除時の動作をCASCADE一択と考えない。
- 参照整合性を主キーの一意性だけと混同しない。
用語解説
- 主キー
- 表の各行を一意に識別する属性または属性集合。
- 外部キー
- 別表などのキーを参照して表同士の関係を表す属性または属性集合。
- 参照整合性
- 外部キー値が参照先の有効なキーに対応する等、参照関係を正しく保つ性質。
- CASCADE
- 親側の更新・削除に合わせ関連する子側へ処理を連鎖させる設定。
- RESTRICT/NO ACTION
- 参照されている親行の削除などを制限する考え方。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。