今までも何度か触れたサロゲートキーと主キーに関して。
今までの参考リンク
主にシステム設計的な考察が多かったので、今回はユースケースからの考察です。
業務システムだとやはりサロゲートキーはあるけれども、主キーとして使わないことがあるようです。
これは自分がユーザーの立場になればわかるのですが、
- 学籍番号
- 社員番号
- 会員番号
- ・・
などはSA00023などアルファベット+数字などの組み合わせが多いですよね。
これらのような意味を持たせた番号を主キーとして持たせることが一般的なようです。
ちなみにサロゲートキー自体もデータとしては持たせると何らかの時に、便利かと思います。
逆にレコードの識別がユーザー側で行わないような場合、はサロゲートキーを使った方がメリットが多いでしょう(ユーザー側から見てそのレコードを個別に認識する必要がない時、あるいはできない時)。
また上記のような意味を持たせた主キーも連番ですと推測されてしまい、セキュリティ的に危険という点から主に数字の部分を何らかのアルゴリズムを用いて推測不可能な値にすることもあるようです。