Oracleの制約について

Oracleには下記の4制約(CONSTRAINT)があります。
NOT NULL制約
一意制約
主キー制約
外部制約
チェック制約

まずNOT NULL制約は
「表の列値がNULLでないということが求められます。」
とのことなのでCreateUpdateで制約がかかりますが、INDEX(OBJECT)が生成されることはなく

一意制約(UNIQUEKEY)では
「表の2つの行の値が重複することは許されません。」
つまりCreateUpdateで制約がかかり、重複する値は登録できないことになります。
Oracleではその制約のためにINDEXが作成されます。

主キー制約(PrimaryKey)では
「その行の一意識別子を構成します。」「データベースのそれぞれの表には、最大1つの主キー制約を指定できます。」
とのことなので UNIQUEKEY+NOT NULL制約でイコールになりそうなものですが
Oracledでは論理的にはイコールですが、
主キー=行を一意にするもの かつ 書き換わらないもの
一意=CreateUpdate時に同じものが列内に存在しない
とのことです。。。
よくわからない。

外部制約
外部表が持っていない情報は自テーブルでは持てないってことかな
ただしNULLがあるのでそこはあまり厳しくない
もし親テーブルのレコードを消す時は NOT NULL制約ついてなければ
DELETE SET NULL で子テーブルのレコードは残しておけるみたい

チェック制約
CreateUpdateされる値に制限をつけるイメージ。
これもINDEX(OBJECT)ではないみたい

てことは
UNIQUEKEY、PRIMARYKEY、FOREGINKEY は INDEXが作られてそのINDEXに対して制約が出来る
CHECKKEY は INDEXは作られない

ってことかな〜
間違ってそうだけど、こんなところで

訂正:外部キーはINDEX作られません