主キー(Primary Key)と外部キー(Foreign Key)は、データベース設計において重要な役割を果たす概念です。それぞれの特徴を以下に詳しく説明します。
主キー(Primary Key)
- 役割: テーブル内の各レコードを一意に識別するための列(カラム)です。
- 特徴:
- 値が重複してはいけない(ユニーク)。
- NULL値を含むことができない。
- 例: 従業員テーブルでは「従業員ID」が主キーとして設定されることが一般的です。
外部キー(Foreign Key)
- 役割: 他のテーブルの主キーを参照する列で、テーブル間の関連性を表します。
- 特徴:
- 親テーブルの主キーを参照することで、データの整合性を保証します。
- 子テーブルに登録される値は、親テーブルに存在する値でなければなりません。
- 例: 従業員テーブルの「部署ID」が、部署テーブルの「部署番号」を参照する外部キーとして設定されることがあります。
主キーと外部キーの関係性
主キーはテーブル内で一意性を保証する役割を持ち、外部キーはその主キーを参照することで、テーブル間の関連性を構築します。例えば、従業員テーブルの「部署ID」が部署テーブルの「部署番号」を参照することで、従業員がどの部署に所属しているかを明確にすることができます。
応用例
- データの整合性: 外部キーを設定することで、親テーブルに存在しない値を子テーブルに登録することを防ぎます。
- データの削除制約: 子テーブルに関連するデータが存在する場合、親テーブルのデータを削除できないようにする制約を設けることができます。