高度試験午前I暗記無料で始める

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

NOT NULL制約とは、表の列にNULL(値が存在しないことを表す印)を格納できないようにする制約。投入の時点で欠落を弾くため、その列を条件や集計に使う問合せから「不定」の扱いを排除できる。主キーを構成する列には、実体保全性の要請として明示しなくても課される。

最終更新:2026-10-07

試験情報

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)

高度試験の午前Iを最短で暗記する →

背景

NULLは0でも空文字でもなく「値が無い」という状態そのもので、これが混ざると比較の結果が真でも偽でもない第三の値になり、条件式も集計も直感どおりに動かなくなる。問合せのたびに例外を書くより、そもそも入らないようにするほうが安い。制約は入力の検査をアプリケーションではなくDBMS側に持たせる仕組みで、どの経路から書き込まれても効く点に価値がある。

具体例

受注表の受注日にこの制約を付けておけば、日付が空のまま登録され、期間指定の集計から黙って漏れる事故を防げる。既にNULLを含む表へ後から付ける場合は、先に既定値で埋めておかないと定義変更そのものが失敗する。

試験での引っ掛け

空文字列や0はNULLではないため、この制約があっても未入力を意味する空文字は入り得る。保証されるのは値が存在することだけで、意味のある値であることではない。NULLどうしの比較が等しいと判定されないこと、COUNT(列名)はNULLの行を数えないがCOUNT(*)は数えることも、同じ性質から出ている。

関連用語

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

高度試験の午前Iを最短で暗記する →

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