読み方 : いちいせいやく
一意制約【unique constraint】ユニーク制約
別名 :UNIQUE制約/一意性制約/ユニークキー制約/unique key constraint
概要
一意制約とは、リレーショナルデータベース(RDB)でテーブルにデータを追加・更新する際の制約の一つで、その列の中でデータが一意(他と重複しない)でなければならないという制約。

一意制約を設定した列では、その列の中にデータの重複があってはならず、すでに他の行に存在するのと同じデータを入力しようとするとデータベース管理システム(DBMS)によって拒否されてエラーとなる。ただし、値なし(Null値)の行が複数存在することは可能である。
一意制約はCREATE TABLE文やALTER TABLE文でCONSTRAINT句とUNIQUEキーワードを用いて設定することができる。列の定義に続けて「CONSTRAINT 制約名 UNIQUE」とすればその列に制約が設定され、テーブル定義の末尾で「CONSTRAINT 制約名 UNIQUE (列名1,列名2,…)」とすれば複数の列にまとめて制約を設定することができる。
主キー制約との違い
似た制約に「主キー制約」(プライマリキー制約、PRIMARY KEY制約)がある。これは、ある列または複数の列の組み合わせに対し、その各行の値が空(Null)ではなく、かつ他の行と重複しない(複数列の場合は同じ値の組み合わせにならない)ことを保証する。テーブルに一つだけ設定することが可能で、各行を一意に識別するための識別子(主キー)を設定するのに使われる。
関連用語
他の辞典等による「一意制約」の解説 (外部サイト)
資格試験などの「一意制約」の出題履歴
▼ 基本情報技術者試験
【令8公】 次のSQL文によって定義され,値が格納されている“商品”表に対して,制約違反で実行エラーとなるSQL文はどれか。〔SQL文〕 CREATE TABLE 商品 (商品コード CHAR(4)PRIMARY KEY,商品名 VARCHAR(21), 仕入先コード CHAR(4),仕入単価 INT,在庫数 INT) 商品 商品コード 商品名 仕入先コード 仕入単価 在庫数 A111 テレビ S001 75,000 0 A222 デジタルカメラ S002 50,000 50 A333 DVDプレーヤ NULL NULL NULL A444 洗濯機 S004 45,000 20 。
【平30修1】 R表に,(A,B)の2列で一意にする制約(UNIQUE制約)が定義されているとき,R表に対するSQL文のうち,この制約に違反するものはどれか。