IT資格用語解説基本情報技術者試験・データベースの設計
一意性制約
更新日:
用語解説
一意性制約(UNIQUE制約)は、表内の二つ以上の行で、指定した一列又は列の組合せに同じ値が重複しないことをDBMSに保証させる整合性制約です。
■ 試験で押さえるポイント
メールアドレス一列にも、店舗番号と会員番号の組合せにも設定でき、複合制約では全列の値が同じ組合せだけを重複として拒否します。
DBMSは通常、一意索引を用いて挿入・更新時に検査しますが、一意性という論理制約と、検索高速化を目的とする索引の概念は区別します。
主キーは表に一つだけ選び、UNIQUEかつNOT NULLで行を識別します。UNIQUE制約は複数設定でき、NULLを許すことがあります。
NULL同士を重複と扱うかはSQL製品・オプションで異なります。候補キーとして扱う列にはUNIQUEだけでなくNOT NULLも指定します。
■ 選択肢での判断ポイント
『最小のスーパーキー』は候補キーの定義で、一意性制約そのものの定義ではありません。列又は列組合せの重複をDBMSが防ぐ制約を選びます。
例: 会員表にUNIQUE(店舗番号, 会員番号)を設定すると、店舗1・会員10と店舗2・会員10は登録できますが、店舗1・会員10の再登録は拒否されます。