制約や参照整合性についてのメモ。
FOREIGN KEY制約がOracleと大きく違うような気がする。
(FOREIGN KEY制約とCHECK制約は業務で使った事ない・・・)
・PRIMARY KEY
内部インデックスが作成される。
NULLは許可しない。
・FOREIGN KEY
参照キー変更時の挙動をREFERENCES句で設定できる。
削除/更新時(ON DELETE / ON UPDATE)
→何もしない/外部キー変更/NULL設定/デフォルト値設定
(NO ACTION / CASCADE / SET NULL / SET DEFAULT)
・UNIQUE制約
内部インデックスが作成される。
NULLは1件のみ許可する。
VARCHAR(MAX)とスパース列には設定できない。
・NOT NULL
・DEFAULT
・CHECK
固定値以外に、同一テーブルの別の列値に制限することもできる(組織マスタ等の自己参照テーブルなどで使用)
2009年12月20日日曜日
登録:
投稿 (Atom)