情報処理安全確保支援士暗記無料で始める

NOT NULL制約とは?のっとぬるせいやく

NOT NULL制約とは、列にNULLを格納することを禁じる制約。値の欠落を投入時点で防ぐと同時に、その列を条件にする問合せから不定(UNKNOWN)の判定を排除できる。主キーを構成する列には実体保全性の要請として暗黙に課される。支援士試験では、完全性を守るデータベース側の入力検証として、CHECK制約や外部キー制約と並べて出る。

最終更新:2026-10-06

試験情報

情報処理安全確保支援士試験の頻出用語/午前II

情報処理安全確保支援士を最短で暗記・合格する →

背景

アプリケーション側の入力チェックだけに頼ると、別の経路(バッチ、管理画面、SQLの直接実行)から不正な行が入る。データベース自身に制約を持たせれば、どの経路から来ても欠落した行を弾ける。NOT NULLはその最も基本的な制約で、SQL標準に定められている。完全性(Integrity)は情報セキュリティの三要素の一つであり、支援士はアプリと同時にデータベースの制約設計も守りの層として扱う。

具体例

PostgreSQLやOracle Databaseで受注表の受注日にNOT NULLを付けておくと、期間指定の集計で日付が入っていない行が黙って除外される事故を防げる。アクセスログ表のユーザーIDと時刻にNOT NULLを付ければ、「誰が」「いつ」が欠けた監査証跡を作れなくなる。既存表へ後付けするときは、先にNULLの行を既定値で埋めないと定義変更が失敗する。

試験での引っ掛け

空文字列や0はNULLではないため、この制約があっても未入力を意味する空文字が入り得る。「値が必ず存在する」ことは保証しても「意味のある値である」ことは保証せず、それはCHECK制約や外部キー制約の役割である。NULLの比較にはIS NULLを使い、= NULLでは真にならない三値論理も併せて出る。

関連用語

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

情報処理安全確保支援士を最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • 空文字列や0はNULLではないため、この制約があっても未入力を意味する空文字が入り得る。