IT資格用語解説基本情報技術者試験・データベース言語
非NULL 制約
更新日:
用語解説
非NULL制約(NOT NULL制約)は、指定した列にNULLを格納することを禁止し、全ての行でその属性に値が存在することを保証する制約です。値の内容や一意性は別の制約で定めます。
■ 試験で押さえるポイント
NULLは未知、未入力又は適用不能を表すため、業務上必須の社員番号や注文日などへNOT NULLを指定します。数値0、空文字列、空白はNULLではなく格納できます。
NOT NULLだけでは同じ値の重複を防ぎません。一意かつ必須にするにはUNIQUEとNOT NULLを組み合わせ、主キーにはこの両性質が求められます。
CHECK (列 IS NOT NULL)と同様の条件を表せますが、専用のNOT NULL構文は意図が明確でDBMSが効率よく扱えるため、通常はこちらを使います。
■ 選択肢での判断ポイント
NULL禁止だけを保証する制約として選びます。0や空文字も禁止する、一意性も保証する、未入力時に自動で既定値を作るという説明はNOT NULLの機能ではありません。
例: 社員番号 INTEGER NOT NULLならNULLの行は拒否されますが、社員番号100を二行入れることはNOT NULLだけでは防げません。行識別にはPRIMARY KEY又はUNIQUEも必要です。