Oracleデータベースでは以下の制約を設定することが出来ます。
Oracle DB:制約の種類
制約 説明
NOT NULL制約 NULL値の設定を許可しない
UNIQE制約
(一意キー制約)一意の値のみ許可します。複数レコード登録時、重複する値を許可しません。NULL値は許可します。
CHECK制約 指定した条件の値のみ許可します。
PRIMARY KEY制約
(主キー制約)一意の値のみ許可し、重複する値は許可しません。NULL値も許可しません。
FOREIGN KEY制約
(外部キー制約)指定した親テーブルに存在する値のみ許可します。
制約のポイント
- 制約はCREATE TABLE または ALTER TABLEで設定出来ます。
- 制約設定の構文には列制約構文と表制約構文の2種類あります。
- NOT NULL制約は列制約構文でのみ設定出来ます。
制約の設定例
- 下記例のNOT NULL制約の設定箇所が列制約構文、UNIQUE制約の設定箇所が表制約構文となります。
1234567CREATE TABLE "USER1"."BIRTHDAY"( "NAME_NO" NUMBER,"NAME" VARCHAR2(50) CONSTRAINT "BIRTHDAY_NAME_NN" NOT NULL ENABLE,"BIRTHDAY" DATE,"UPDATE_DATE" TIMESTAMP (6),CONSTRAINT "BIRTHDAY_NAME_NO_U" UNIQUE ("NAME_NO"));