主キー
一意制約と非ナル制約(NOT NULL)を合わせ持ちます。候補キーの中から最もふさわしいものが選ばれます。「社員番号、電話番号」のように複合キーとかも主キーとして扱ったりします。基本的には候補キーの中からNULLを許可しないキーを主キーとして選びます。
候補キー
主キーの候補となるキーのことです。「社員番号、電話番号」のように複合キーとかも候補キーとして扱ったりします。
特徴
- タプルを一意に識別できること
- スーパーキーの中で極小であること
- NULLは許す。
極小とは?
いろんな属性の組み合わせのうちどれか一つでも欠ければ一意性を損なう組み合わせのことです。
例
下記のようにいろんな組み合わせのスーパーキーの中から最も極小なものを候補キーと呼びます。
- 社員番号、電話番号(これが極小なので候補キーになる。)
- 社員番号、電話番号、氏名
- 社員番号、電話番号、氏名、住所
スーパーキー
表にたくさん存在します。
特徴
- タプルを一つに特定できる。
- 候補キーに様々な組み合わせで他の属性を付け足したものです。
例
下記のように一意に識別できるできないに関わらず全ての属性の組み合わせをスーパーキーと呼びます。
- 社員番号、電話番号
- 社員番号、電話番号、氏名
- 社員番号、電話番号、氏名、住所
サロゲートキー
主キーの代わりに付与されるもの。例えばIDや連番のようにそれ自体に意味はないが一意性を確保するために付与します。
サロゲートキーを使う場合
- 主キーが複合キーの場合
- データウェアハウスで長期間の履歴を管理したい場合(IDを使い回す場合でも過去のIDと識別したい場合)
外部キー
他のリレーションの主キーを参照する項目のこと。
この記事へのコメントはありません。