サロゲートキー
Surrogate Key
さろげーときー
業務上の意味を持たない値(連番やUUIDなど)を、システムが自動的に割り当てて主キーとするもの。代理キーともいい、顧客コードのような業務上のキー(自然キー)が長い、複数列になる、将来変わるおそれがあるといった場合に使い、主キーを短く安定させられる。ただし自然キーの重複は別に一意性制約で防ぐ必要がある。
Related
他の資格での定義
業務上の意味を持たず、連番などで人工的に付与する主キー。業務的な識別子(ナチュラルキー)が変更されうる、桁数が大きい、複合キーになるといった場合に、安定した識別子として導入する。
業務上の意味を持たず、システムが自動採番する人工的な主キー。自然キーが複雑・可変・長大な場合に代替として使用する。連番やUUIDが用いられ、結合処理の効率化や主キーの安定性確保に役立つ。
業務上の意味を持たず、システムが連番などで人工的に付与する主キー。社員番号や商品コードなど業務上の識別子(ナチュラルキー)が変わり得る場合や、複数の列の組合せになる場合に、変化しない安定した識別子として使う。
Related
関連キーワードの用語
概念データモデルを、採用するデータベースの方式(関係データベースなら表・列・主キー・外部キー)に沿って表し直したデータモデル。正規化によってデータの重複と更新時異状を取り除き、データ型や制約を定める。どの記憶装置にどう格納するかといった物理的な事項には立ち入らない。
ある表の列のうち、他の表(または同じ表)の主キーや一意キーを参照する列。外部キーの値は参照先に存在する値かNULLでなければならないという参照制約により、表どうしの関連の整合性が保たれる。参照先の行を削除・更新したときの動作は、CASCADE、SET NULL、RESTRICTなどで指定する。
指定した列または列の組に、同じ値を持つ行が2つ以上存在しないことを保証する制約。SQLではUNIQUEで指定し、主キー制約は一意性制約にNOT NULLを加えたものに当たる。UNIQUE制約の列ではNULLを重複とみなさず複数行がNULLを持てるDBMSが多く、一意性の検査のためにユニークインデックスを自動で作成するDBMSも多い。
キーの値が重複しないことを保証する索引。重複する値の行を追加・更新しようとするとエラーになる。主キー制約や一意性制約を定義すると、多くのDBMSは一意性の検査のためにユニークインデックスを自動で作成する。
一意の連番を自動生成するデータベースオブジェクト。CREATE SEQUENCE文で作成し、NEXT VALUE FORで次の値を取得する。主キーや伝票番号の自動採番に使用される。
ウィンドウ関数の1つで、パーティション内の各行に1から始まる連番を振る関数。OVER句でパーティションとソート順を指定する。ページネーションや重複排除のための行番号付けに活用される。
