基本情報処理 サロゲートキーとナチュラルキー
データベースの話みたいなんで、あまり馴染みはないんですが。
キーそのものに意味が含まれているキーで、業務的にそのテーブルをユニークにするキーをナチュラルキーと言います。
要は入力データ自体をPKとした場合、PKはナチュラルキーとなります。
例えば、以下のようなテーブル構成の場合のユーザーテーブルのユーザーコードのように、それだけで意味の分かるキーがPKとなっている場合、ナチュラルキーと言います。
ナチュラルキーに対して、業務上は意味を持つ値ではないが、システム的に一意な値をとるようオートインクリメントなどで連番を振り、PKとしているテーブルのPKのことをサロゲートキー(代理キー)と呼びます。
例えば前述のユーザーテーブルの場合でも、下記の様にそれだけでは意味を持たないユーザーNoを、システムで別途採番してPKとしている場合、サロゲートキーと言います。
という違いがあるようです。データベースを設計する際には少し思い出したほうがいいかもしれませんね。
この記事が気に入ったらサポートをしてみませんか?