識者の方々にお聞きしたいのですが以下のようなテーブルの時
ユーザCode PK varchar 例:M123456
ユーザ名 varchar 例:たろきち
〇〇
私はPKとしてint型のIDが欲しいのですが、このユーザコードをPKに充てる人を
よく見ます。
これはどういった思想なのでしょうか??
> 私はPKとしてint型のIDが欲しいのですが
どうしてですか?
理由は色々あるのですが、例えば全社で人員管理システムが刷新するときに、ユーザコードが変わる
そんな時に、ユーザコードでリレーションされた全データは変更しなければなりません。
しかしもしユーザコードを単なる属性と捉えIDをリレーションキー(PK)とするならそんな問題は起きえないです。
> 例えば全社で人員管理システムが刷新するときに、ユーザコードが変わる
変えるほうが悪い、もしくは変わりうるキーを使ってしまった設計が悪いです(この文字列キーは「内部的に振って、決して変わらない」ことを前提に考えていました)。
なるほどです、仰る通りその理屈はスッと腹落ちします。