skillup

技術ブログ

プログラミング全般

サロゲートキーと主キーに関して

投稿日:

今までも何度か触れたサロゲートキーと主キーに関して。

今までの参考リンク

論理設計のグレーノウハウ サロゲートキー

サロゲートキーに関して

主にシステム設計的な考察が多かったので、今回はユースケースからの考察です。

業務システムだとやはりサロゲートキーはあるけれども、主キーとして使わないことがあるようです。

これは自分がユーザーの立場になればわかるのですが、

  • 学籍番号
  • 社員番号
  • 会員番号
  • ・・

などはSA00023などアルファベット+数字などの組み合わせが多いですよね。

これらのような意味を持たせた番号を主キーとして持たせることが一般的なようです。

ちなみにサロゲートキー自体もデータとしては持たせると何らかの時に、便利かと思います。

逆にレコードの識別がユーザー側で行わないような場合、はサロゲートキーを使った方がメリットが多いでしょう(ユーザー側から見てそのレコードを個別に認識する必要がない時、あるいはできない時)。

また上記のような意味を持たせた主キーも連番ですと推測されてしまい、セキュリティ的に危険という点から主に数字の部分を何らかのアルゴリズムを用いて推測不可能な値にすることもあるようです。

-プログラミング全般
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

Eclipseでのソースフォーマットでの自動改行を防ぐ

小ネタ。Eclipseのソースフォーマッタはディフォルトでは一定の字数で改行されしまい、大変見にくくなったりします。 またHTMLなどでは改行してほしいタグが改行されないなど思ったとおりに動いてくれま …

no image

正しい転職 〜準備編〜

年始のブログ記事でこのようなものをかいたのですが、今年も仕事で大きい変化があり、まとめておこうと思います。 自分自身、転職をすることになりまして、2024年から新しい会社で仕事をすることになります。 …

no image

短いコードを書く

私が普段コードを書くときに考えていることは常にいかに短くかけるか、ということといかにバグを生み出さないかということです。 基本的にはできるだけ、短くシンプルに書くようにしています。 そうすることであと …

no image

バッチスクリプトで気をつけたい点

実務でバッチ処理を作る際に気をつけるべきと思ったこと。 基本的にエラーをいかに捉えていかにログに吐くかを最初に考える。まずはエラーありき。失敗するもの、想定した値がこない、あるいは値がないを前提として …

no image

抽象性と可読性のトレードオフに関して

私自身プログラムを書く場合、とにかくコードを書く量を制限したいという思いが強く、多少でも共通化できる箇所がある場合はなるべく共通化するようにしておりましたが、時と場合によっては過剰に共通化したことによ …

アーカイブ