セージ の メモ書き

メモこそ命の恩人だ

DB - ***キー(候補キー・主キー etc.)

スーパーキー

  • タプルを一意に識別するための属性の組合せ。
  • 全属性でもOK。一意になるなら何でもOK。

候補キー

  • "スーパーキー" のうち、属性が必要最低限の組合せ。
  • その属性のみで、タプル(レコード)の全属性を一意に識別できるか。
  • 属性がNULLでもOK。
  • 複数属性の場合、括弧 {} を付与して表現すること。
    • {属性1, ... , 属性n}

非キー属性

  • 候補キー以外の属性を "非キー属性" と呼ぶ。
  • スーパーキーを含むか否かは調査したけど不明。

主キー/複合主キー

  • "候補キー" の中のどれか一つ。
  • 属性がNULLはNG。
  • 属性が1つ => 主キー
  • 属性が複数 => 複合主キー

代理キー

  • "主キー" として採用されなかった "候補キー"。
  • 主キーの次の候補。

主キーの参照

外部キー

  • 他の関係の主キーを参照する属性。
  • 以下の制約あり
    • 親側にあるデータを子側にセットできる。
    • 子側から参照された場合、親側のデータを削除できない。

主キーのデータ表現

ナチュラルキー(自然キー)

  • 主キーに意味があるキー。

サロゲートキー

  • 主キーに意味がないキー。
  • ナチュラルキーの反対。



以上