Skip to content
Latchkey

Surrogate Key とは?

Surrogate key は、シーケンス番号や UUID のような、ビジネス上の意味を持たないシステム生成の識別子で、table の primary key として選ばれます。レコードの現実世界の属性が変わっても安定したままです。これにより行のアイデンティティを、後で編集され得るデータから切り離します。

なぜ重要か

Surrogate key は決して変わらないため、ビジネスデータが進化しても安定した参照と join を容易にします。トレードオフは固有の意味を持たないことで、一意性のルールには依然として natural key が必要な場合があることです。

関連ガイド