見出し画像

基本情報処理 サロゲートキーとナチュラルキー

データベースの話みたいなんで、あまり馴染みはないんですが。

キーそのものに意味が含まれているキーで、業務的にそのテーブルをユニークにするキーをナチュラルキーと言います。
要は入力データ自体をPKとした場合、PKはナチュラルキーとなります。

例えば、以下のようなテーブル構成の場合のユーザーテーブルのユーザーコードのように、それだけで意味の分かるキーがPKとなっている場合、ナチュラルキーと言います。

ナチュラルキーに対して、業務上は意味を持つ値ではないが、システム的に一意な値をとるようオートインクリメントなどで連番を振り、PKとしているテーブルのPKのことをサロゲートキー(代理キー)と呼びます。

例えば前述のユーザーテーブルの場合でも、下記の様にそれだけでは意味を持たないユーザーNoを、システムで別途採番してPKとしている場合、サロゲートキーと言います。

という違いがあるようです。データベースを設計する際には少し思い出したほうがいいかもしれませんね。

この記事が気に入ったらサポートをしてみませんか?