一意性制約(UNIQUE制約)とは?
一意性制約(UNIQUE制約)とは、指定した列または列の組において、重複する値が存在しないことを保証する制約。主キー以外にも業務上一意な項目へ設定でき、候補キーの実装手段となる。多くのDBMSは内部で一意インデックスを自動生成して重複を検査する。
基本情報技術者試験の過去問では1回出題されています。
いちいせいせいやく
一意性制約(UNIQUE制約)の意味
指定した列または列の組において、重複する値が存在しないことを保証する制約。主キー以外にも業務上一意な項目へ設定でき、候補キーの実装手段となる。多くのDBMSは内部で一意インデックスを自動生成して重複を検査する。
一意性制約(UNIQUE制約)の具体例
社員表の主キーが社員番号でも、メールアドレスに一意性制約を置けば重複登録を防げる。複数列にまとめて設定すれば「同一部門内で席番号は重複しない」といった組合せの一意性も表現できる。
一意性制約(UNIQUE制約)は試験でどう引っ掛けられる?
主キーと違い、多くのDBMSでNULLは重複とみなされないため、NULLを許す列では複数行がNULLを持てる。「一意制約があるから必ず1行」と考えると、NULL行が複数残って結合時に件数が膨らむ。
一意性制約(UNIQUE制約)と関連する用語
一意性制約(UNIQUE制約)が出た過去問
次のSQL文によって定義され,値が格納されている"商品"表に対して,制約違反で実行エラーとなるSQL文はどれか。 〔SQL文〕 CREATE TABLE 商品 …
正解:UPDATE 商品 SET 商品コード = 'A777' WHERE 在庫数 >= 20
要点:主キーは重複不可。複数行を同じ値に更新すると違反
商品コードは主キーなので、値の重複は許されない。在庫数が20以上の行はデジタルカメラ(50)と洗濯機(20)の2行あり、その両方の商品コードを同じ'A777'に更新しようとすると主キーの一意性制約に違反して実行エラーになる。他の3つは重複もNULLも生じないため正常に実行できる。
出典:令和8年度 (公開問題) 基本情報技術者試験 kamokuA 問7(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。