skillup

技術ブログ

プログラミング全般

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

投稿日:

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

今までの参考リンク

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

サロゲートキーに関して

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

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

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

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

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

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

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

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

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

-プログラミング全般
-

執筆者:


comment

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

関連記事

no image

DIとDIコンテナについて再考

今までも何度かやったDI(Dependency Injection = 依存性の注入)について。 以前のリンク PHPにおけるDI スコープアノテーションとCDIについて Contents1 DIとは …

no image

コメントについて

リーダブルコード 第5・6章はコメントについて。 今回はコメントです。ここは結構賛否両論になるところではないかと思います。 ざっくり分けると「できるだけコメントは詳しく書くこと」という意見と「コメント …

no image

テストコードを読みやすくする

リーダブルコードも最終章に近づいてきましたね。 今回はテストコードについて。 以前のプロジェクトではテストコードを書いていたのですが、今携わっているプロジェクトでは書いてないです・・・ テストを書く目 …

no image

Oauthについて

今更ながら認証システムの基本などを復習中です。 今回はOauth(オーオース)について。 一般的なWebサービスを使っていると Instagramでのアカウントがある場合、それのアカウントを利用して、 …

no image

ExcelVBAでの他のアプリの起動

2日続けてExcelVBA。 やはり細かく分けてすぐにプロシージャごとにテストできるのはものすごく大きなメリットですね。本日は別のアプリ起動と操作に関して。 自分がやったことはWordとメモを起動して …

アーカイブ