not-null制約と一意性制約

SQL リレーショナルデータベース入門

Timo Grossenbacher

Data Journalist

not-null制約

  • 特定の列で NULL 値を禁止する
  • 現在null値が含まれてはいけない
  • 将来null値が含まれてはいけない
SQL リレーショナルデータベース入門

NULL とは何を意味しますか?

  • 不明
  • 存在しない
  • 適用されない
  • ...
SQL リレーショナルデータベース入門

NULL とは?例

CREATE TABLE students (
 ssn integer not null,
 lastname varchar(64) not null,
 home_phone integer,
 office_phone integer
);
NULL != NULL
SQL リレーショナルデータベース入門

not-null制約の追加または削除方法

テーブルを作成する際

CREATE TABLE students (
 ssn integer not null,
 lastname varchar(64) not null,
 home_phone integer,
 office_phone integer
);

テーブルが作成された後

ALTER TABLE students 
ALTER COLUMN home_phone 
SET NOT NULL;
ALTER TABLE students 
ALTER COLUMN ssn 
DROP NOT NULL;
SQL リレーショナルデータベース入門

一意性制約

  • 列内の重複値を禁止する
  • 現在重複値が含まれてはいけない
  • 将来重複値が含まれてはいけない

SQL リレーショナルデータベース入門

一意性制約の追加

CREATE TABLE table_name (
 column_name UNIQUE
);
ALTER TABLE table_name
ADD CONSTRAINT some_name UNIQUE(column_name);
SQL リレーショナルデータベース入門

データベースに適用してみましょう!

SQL リレーショナルデータベース入門

Preparing Video For Download...