CREATE TABLE文の応用、4回

今日はPostgreSQLの4回目(06-07)

create tableコマンドには制約オプションがある。これを使えばテーブル内に書き込むデータを制約できるので、間違って値をセットすることを防止できる。

  • NOT NULL制約
  • UNIQUE制約
  • PRIMARY KEY制約
  • CHECK制約
NOT NULL制約

指定した列に必ず値がセットされている必要がある。

sample=>  create table t1 ( i integer not null );
UNIQUE制約

UNIQUE制約は、指定した列に必ず重複しない値がセットされることを保証している。

sample=>  create table t2 ( i integer unique );
PRIMARY KEY制約

NOT NULL と UNIQUE が1つになったようなもので「値に重複がなく、なおかつ値が必ず入力される」という制約。複数の列をまとめてPRIMARY KEYにすることもできる。

sample=>  create table t3 ( i integer, h integer, primary key(i,h));
sample=>  create table t4 ( i integer primary key, h integer);
CHECK制約

指定した条件を満たすもののにデータ挿入を許す。

sample=>  create table t5 ( i integer check(i > 0));