IT用語帳
PD-Dデータベース · データベース設計

サロゲートキー

Surrogate Key

さろげーときー

業務上の意味を持たない値(連番やUUIDなど)を、システムが自動的に割り当てて主キーとするもの。代理キーともいい、顧客コードのような業務上のキー(自然キー)が長い、複数列になる、将来変わるおそれがあるといった場合に使い、主キーを短く安定させられる。ただし自然キーの重複は別に一意性制約で防ぐ必要がある。

共有:

Related

他の資格での定義

Related

関連キーワードの用語

PD-D論理データモデル

概念データモデルを、採用するデータベースの方式(関係データベースなら表・列・主キー・外部キー)に沿って表し直したデータモデル。正規化によってデータの重複と更新時異状を取り除き、データ型や制約を定める。どの記憶装置にどう格納するかといった物理的な事項には立ち入らない。

PD-D外部キー

ある表の列のうち、他の表(または同じ表)の主キーや一意キーを参照する列。外部キーの値は参照先に存在する値かNULLでなければならないという参照制約により、表どうしの関連の整合性が保たれる。参照先の行を削除・更新したときの動作は、CASCADE、SET NULL、RESTRICTなどで指定する。

PD-D一意性制約

指定した列または列の組に、同じ値を持つ行が2つ以上存在しないことを保証する制約。SQLではUNIQUEで指定し、主キー制約は一意性制約にNOT NULLを加えたものに当たる。UNIQUE制約の列ではNULLを重複とみなさず複数行がNULLを持てるDBMSが多く、一意性の検査のためにユニークインデックスを自動で作成するDBMSも多い。

PD-Dユニークインデックス

キーの値が重複しないことを保証する索引。重複する値の行を追加・更新しようとするとエラーになる。主キー制約や一意性制約を定義すると、多くのDBMSは一意性の検査のためにユニークインデックスを自動で作成する。

DBシーケンス(SEQUENCE)

一意の連番を自動生成するデータベースオブジェクト。CREATE SEQUENCE文で作成し、NEXT VALUE FORで次の値を取得する。主キーや伝票番号の自動採番に使用される。

DBROW_NUMBER関数

ウィンドウ関数の1つで、パーティション内の各行に1から始まる連番を振る関数。OVER句でパーティションとソート順を指定する。ページネーションや重複排除のための行番号付けに活用される。