一意性制約
Uniqueness Constraint
いちいせいせいやく
指定した列または列の組に、同じ値を持つ行が2つ以上存在しないことを保証する制約。SQLではUNIQUEで指定し、主キー制約は一意性制約にNOT NULLを加えたものに当たる。UNIQUE制約の列ではNULLを重複とみなさず複数行がNULLを持てるDBMSが多く、一意性の検査のためにユニークインデックスを自動で作成するDBMSも多い。
Related
他の資格での定義
ある列(または列の組)に重複した値を登録できないようにする制約。主キーほど厳格ではなくNULLを許す場合がある。メールアドレスや社員番号の重複登録を防ぐのに使う。
指定した列(または列の組)の値が、表の中で重複しないことを保証する制約。主キー制約と異なり、NULLを許す点と1つの表に複数設定できる点が特徴である。
テーブルの特定の列または列の組合せで、重複する値が存在しないことを保証する制約。主キー制約とUNIQUE制約が該当する。データベースの整合性維持に不可欠な制約の1つ。
表の指定した列(または列の組合せ)に、同じ値が重複して格納されることを禁止する制約。SQLではUNIQUEで指定する。主キー制約は一意性制約に非ナル制約を加えたもので、表に1つだけ定められるが、一意性制約は複数の列に定められる。
Past Exams
過去問での出題
過去問で 4 回出題(ITパスポート試験 2・応用情報技術者試験 2)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
概念データモデルを、採用するデータベースの方式(関係データベースなら表・列・主キー・外部キー)に沿って表し直したデータモデル。正規化によってデータの重複と更新時異状を取り除き、データ型や制約を定める。どの記憶装置にどう格納するかといった物理的な事項には立ち入らない。
ある表の列のうち、他の表(または同じ表)の主キーや一意キーを参照する列。外部キーの値は参照先に存在する値かNULLでなければならないという参照制約により、表どうしの関連の整合性が保たれる。参照先の行を削除・更新したときの動作は、CASCADE、SET NULL、RESTRICTなどで指定する。
業務上の意味を持たない値(連番やUUIDなど)を、システムが自動的に割り当てて主キーとするもの。代理キーともいい、顧客コードのような業務上のキー(自然キー)が長い、複数列になる、将来変わるおそれがあるといった場合に使い、主キーを短く安定させられる。ただし自然キーの重複は別に一意性制約で防ぐ必要がある。
列の値や、同じ行の複数の列の値が満たすべき条件を定義する制約。SQLではCHECK(価格 >= 0)のように書き、条件が偽になる行の追加や更新を拒否する(結果が不明になるNULLとの比較は違反とみなされない)。値の範囲や選択肢、開始日が終了日より前といった業務ルールをデータベース側で守れる。
キーの値が重複しないことを保証する索引。重複する値の行を追加・更新しようとするとエラーになる。主キー制約や一意性制約を定義すると、多くのDBMSは一意性の検査のためにユニークインデックスを自動で作成する。
