一意制約 【unique constraint】 ユニーク制約 / UNIQUE制約 / 一意性制約 / ユニークキー制約 / unique key constraint
概要
一意制約(unique constraint)とは、リレーショナルデータベース(RDB)でテーブルにデータを追加・更新する際の制約の一つで、その列の中でデータが一意(他と重複しない)でなければならないという制約。一意制約を設定した列では、その列の中にデータの重複があってはならず、すでに他の行に存在するのと同じデータを入力しようとするとデータベース管理システム(DBMS)によって拒否されてエラーとなる。ただし、値なし(Null値)の行が複数存在することは可能である。
一意制約はCREATE TABLE文やALTER TABLE文でCONSTRAINT句とUNIQUEキーワードを用いて設定することができる。列の定義に続けて「CONSTRAINT 制約名 UNIQUE」とすればその列に制約が設定され、テーブル定義の末尾で「CONSTRAINT 制約名 UNIQUE (列名1,列名2,…)」とすれば複数の列にまとめて制約を設定することができる。
主キー制約との違い
似た制約に「主キー制約」(プライマリキー制約、PRIMARY KEY制約)がある。これは、ある列または複数の列の組み合わせに対し、その各行の値が空(Null)ではなく、かつ他の行と重複しない(複数列の場合は同じ値の組み合わせにならない)ことを保証する。テーブルに一つだけ設定することが可能で、各行を一意に識別するための識別子(主キー)を設定するのに使われる。
(2024.1.25更新)