一意性制約

更新日:

用語解説

一意性制約(UNIQUE制約)は、表内の二つ以上の行で、指定した一列又は列の組合せに同じ値が重複しないことをDBMSに保証させる整合性制約です。

■ 試験で押さえるポイント

  • メールアドレス一列にも、店舗番号と会員番号の組合せにも設定でき、複合制約では全列の値が同じ組合せだけを重複として拒否します。

  • DBMSは通常、一意索引を用いて挿入・更新時に検査しますが、一意性という論理制約と、検索高速化を目的とする索引の概念は区別します。

  • 主キーは表に一つだけ選び、UNIQUEかつNOT NULLで行を識別します。UNIQUE制約は複数設定でき、NULLを許すことがあります。

  • NULL同士を重複と扱うかはSQL製品・オプションで異なります。候補キーとして扱う列にはUNIQUEだけでなくNOT NULLも指定します。

■ 選択肢での判断ポイント

『最小のスーパーキー』は候補キーの定義で、一意性制約そのものの定義ではありません。列又は列組合せの重複をDBMSが防ぐ制約を選びます。

例: 会員表にUNIQUE(店舗番号, 会員番号)を設定すると、店舗1・会員10と店舗2・会員10は登録できますが、店舗1・会員10の再登録は拒否されます。

音声で聞く

同じ分野の用語