キーの種類
主キー、外部キー、ユニークキー、キーにもいろいろありますね。
スーパーキー(super key)
- 行を一意に識別するキー
- 一意に識別すればいいので、カラム全部というのもあり
候補キー(candidate key)
- スーパーキーの中で極小のもの
主キー(primary key)
- 候補キーが複数存在する場合、そのうちの一つが主キー
- 候補キーとの明確な違いは、NOT NULLであること
- NOT NULLの候補キーが複数ある場合、どれが主キーであるかは、イマイチ理解不能だったりする。
外部キー(foreign key)
- 制約の一つ
- 外部テーブルのカラムが存在することを保証する
- DBによって、参照先のカラムが消されたら、参照元のカラムも消える、NULLを入れる、エラーにする、などのオプションを設定できたりする。
ユニークキー(unique key)
- 制約の一つ
- このテーブルで一意であることを保障する。
- どういう場合に使うのかよくわからない。NOT NULLでいいかも知らない。
(制約の1つというと全部そうなるか?)
もっとあるかも。。。