【さろげーときー】
サロゲートキー とは?
💡 意味なんて要らない——純粋に「区別するため」だけに生まれた番号札
📌 このページのポイント
サロゲートキーってどういうもの?
たとえばユーザーテーブルで「id: 1, 2, 3...」って連番を主キーにするでしょ?あれがサロゲートキーだよ。データの中身とは関係なく、ただ区別するためだけの番号なんだ。
ナチュラルキーとの違いは何なの?
ナチュラルキーは「社員番号」や「メールアドレス」みたいにデータ自体に意味がある値。サロゲートキーは「1番、2番」みたいに意味がない値。整理券の番号みたいなものだね。
意味がないのに何がいいの?
UUIDっていうのもサロゲートキーなの?
そう!UUIDは「550e8400-e29b-41d4-a716-446655440000」みたいなランダムな文字列で、連番と違って分散システムでも衝突しにくいのが特徴だよ。
じゃあ全部サロゲートキーにしちゃえばいいんじゃない?
まとめ:ざっくりこれだけ覚えればOK!
「サロゲートキー」って出てきたら「システムが自動で振る意味のないID番号」と思えればだいたいOK!
📖 おまけ:英語の意味
「Surrogate Key」 = 代理キー
💬 「surrogate(代理人)」が本来のキーの代わりを務めるから「サロゲートキー」だよ