キーの種類

主キー、外部キー、ユニークキー、キーにもいろいろありますね。



スーパーキー(super key)

  • 行を一意に識別するキー
  • 一意に識別すればいいので、カラム全部というのもあり


候補キー(candidate key)

  • スーパーキーの中で極小のもの


主キー(primary key)

  • 候補キーが複数存在する場合、そのうちの一つが主キー
  • 候補キーとの明確な違いは、NOT NULLであること
  • NOT NULLの候補キーが複数ある場合、どれが主キーであるかは、イマイチ理解不能だったりする。

外部キー(foreign key)

  • 制約の一つ
  • 外部テーブルのカラムが存在することを保証する
  • DBによって、参照先のカラムが消されたら、参照元のカラムも消える、NULLを入れる、エラーにする、などのオプションを設定できたりする。


ユニークキー(unique key)

  • 制約の一つ
  • このテーブルで一意であることを保障する。
  • どういう場合に使うのかよくわからない。NOT NULLでいいかも知らない。


(制約の1つというと全部そうなるか?)
もっとあるかも。。。