タグ

ブックマーク / mycode.snow69it.net (1)

  • 【DB】 サロゲートキー(代理キー)の初歩

    業務でDBを扱っていて、一意な値をとるカラムがあるのに別途連番を振ってそれを主キーとしているテーブルを見つけたのでなぜだろうと思いググってみると、それはサロゲートキー(代理キー)と呼ぶんだそうです。 これに対して、業務で使用するそのままのデータが入った主キーをナチュラルキーといいます。 で、どっち使えばいいの どちらを使えばよいかネット上でも議論されているのでまとめてみます。 RDBMSの理論的にはナチュラルキーのでの設計が質的な問題。 ナチュラルキーとサロゲートキーについての議論 IDリクワイアド SQLアンチパターン しかし現実的には設計スキル不足や追加要件などが原因で物理設計の仕様変更が起こりうる。 サロゲートキーをつけなかったせいで死にそうになった。 サロゲートキーには仕様変更の保守性を高める効果があるため、これを使おうというのが現場の知恵。 ネット上ではサロゲートキー派が圧倒し

    gologo13
    gologo13 2014/12/17
    意外と深いな。
  • 1