「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

NOT NULL制約

pointこの用語のポイント

pointデータベースの項目に付ける制約だよ

point空の値(NULL)が入れられなくなるよ

スポンサーリンク

簡単に書くよ

NOT NULL制約(読:ノットヌルセイヤク、ノットナルセイヤク 英:NOT NULL constraint)とは

「空っぽの値(NULL)は入れちゃダメだよ」制約のこと。
もう少し具体的に書くと

データベースの項目に付ける制限(制約)のひとつ
であり

「この項目に入れる値はNULLではダメですよ。入れようとした値がNULLだったら怒りますからね」な制約のこと
です。


image piyo

詳しく書くよ

最初に注意事項です。
専門外の方がイメージしやすいように「データベースの項目」と表現していますが、正確には「データベースのテーブルの項目」です。
こだわり派な人は適当に読み替えてください。

NOT NULL制約

それでは本題です。
まずは予備知識として

NULL
データベース
テーブル


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

NULLは「何もないよー」を表す単語です。
数学の世界における「0(ゼロ)」みたいなものですね。
宇宙の話で言えば、ブラックホールみたいなものです。

NOT NULL制約2

例えば、そうですね。
ピヨ太君が、お盆を持っていたとしましょう。

NOT NULL制約3

お盆の上にミカンが1つ乗っていれば「1」です。

NOT NULL制約4

お盆の上にミカンが3つ乗っていれば「3」です。

NOT NULL制約5

お盆の上にミカンが乗っていなければ「0」です。

NOT NULL制約6

お盆の上に乗っているミカンの数が数字を表しています。

この条件下において、お盆を持っていない状態がNULLです。

NOT NULL制約7

細かく見ていくと複雑な部分もありますけどね。
大雑把なイメージは、そんな感じです。

データベースは「データを入れておく箱」です。

NOT NULL制約8

ただし「データベース」という用語は、実際には もう少し複雑な概念です。
データを入れておく箱そのものは「テーブル」と言います。

NOT NULL制約9

とりあえず

データベースの話において、実際にデータを入れておく箱がテーブル

と覚えてください。

以上を踏まえて、データベース(のテーブル)の項目に付与する制限のひとつで

「NULLは入れられないよ」な状態にしますよ制約

が「NOT NULL制約」です。
この制限を付与された項目にはNULLが入れられなくなります。

NOT NULL制約10

「NULL」と言われてもイメージできない人は「空っぽな値」と解釈してください。
NOT NULL制約を付与された項目には空っぽな値が入れられなくなります。

NOT NULL制約11

例えば、そうですね。

ピヨピヨ学校のピヨクラスで演劇をすることになりました。
生徒の情報と配役はデータベースで管理することにしました。

NOT NULL制約12

データベースに入れる内容は

1.出席番号
2.名前
3.性別
4.配役


の4項目です。
えっちらおっちらと入力したところ、最終的には以下のような一覧表ができあがりました。

出席番号名前性別配役
1番相川王子様
2番合田村人A
3番伊藤村人B
4番宇野村人C
1番伊藤お姫様
2番井上侍女


ここで少し考えてみてください。
「出席番号」や「名前」が空欄になることは、ありえるでしょうか。

「性別」は、もしかしたら不明な人がいるかもしれません。
「配役」も、参加しない人は空欄になるでしょう。

ですが「出席番号」や「名前」は必ず入りますよね。

生徒である以上、出席番号は割り当てられているはずです。
普通に考えて、名前もあるでしょう。

ということは「出席番号」や「名前」に空っぽな値が入ることは ありません。
もし入ったら、それはデータがおかしいということになります。

そこで「出席番号」と「名前」にNOT NULL制約を付けておくのです。

そうすれば「出席番号」と「名前」に空っぽな値が入れられません。
入れようとするとエラーになります。

NOT NULL制約は「この項目に値が入らないことは、ありえないよね。もし、この項目に空っぽな値が入ったら、それはデータがおかしいよね」な項目に付与します。
「これは空っぽな値には、なりえないよ」な項目にNOT NULL制約を付けておくことによって、おかしいデータを最初から入れられないようにしておくのです。


image piyo2

一言でまとめるよ

まぁ「NOT NULL制約」って単語が出てきたら「空っぽな値(NULL)は入れられないよ制約なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像049
書籍画像006

おまけ

■訳してみるよ

「not(ノット)」の意味は「~でない」とかです。
否定を意味します。
「NULL(ヌル、ナル)」はIT用語の「NULL」です。
「制約」は日本語ですね。
何となく くっつけると

NULLではない制約

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
エンジニアのための生成AI入門 はじめての生成AIアプリ開発からエージェント開発まで
サイバーセキュリティお嬢様と学ぶ 情報セキュリティの基本