CHECK制約(チェックせいやく、: Check Constraint)とは、データベースにおいてデータを追加、更新する際の有効なデータを定義する規則のことをいう。チェック制約はテーブルの1つの列に複数つけることができ、条件に合う(True)かもしくは合わない(False)のいずれかの値を取るでなければならない。

例えば、「製品」を含むデータベースにおいて、製品の価格と数量はゼロもしくは正の値であるというチェック制約を設けることができる。

PRICE >= 0

QUANTITY >= 0

もしこの制約がない場合は、価格がマイナス30ドルとかマイナス3個の数量といったことが可能になってしまう。

チェック制約はデータの有効性と保全性を確保するために利用され、この制約をデータベースレベルで行うことで、たとえアプリケーションが無効なデータを認めたとしても、データベースにその無効データを追加したり、有効なデータを無効なデータに変更したりすることができなくなる。

構文 編集

 テーブル作成の際に、以下のように対象となる列にCHECKを記述し、条件式を括弧の中に記述する。ALTER TABLE ステートメントを使うこともできる。

CREATE TABLE テーブル名 (列名1 列データ型1 CHECK(条件式), 列名2 列データ型2,・・・);

外部リンク 編集

DB2のCHECK制約