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

非ナル値制約

pointこの用語のポイント

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

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

point「NOT NULL制約」と表現されるのが一般的だと思うよ

スポンサーリンク

簡単に書くよ

非ナル値制約(読:ヒナルチセイヤク 英:NOT NULL constraint)とは

いわゆる「NOT NULL制約」のこと。
用語の中身としては

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

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

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


image piyo

詳しく書くよ

最初に留意事項です。
NOT NULL制約」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
NOT NULL制約を日本語っぽくした表現が「非ナル値制約」です。

非ナル値制約

「NOT NULL制約って何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩2

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

非ナル値制約2

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

NULL(ヌル、ナル)
データベース
テーブル


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

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

非ナル値制約3

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

非ナル値制約4

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

非ナル値制約5

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

非ナル値制約6

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

非ナル値制約7

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

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

非ナル値制約8

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

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

非ナル値制約9

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

非ナル値制約10

とりあえず

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

と覚えてください。

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

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

が「非ナル値制約」です。

非ナル値制約11

上でも書きましたが「NOT NULL制約」と表現される場合もあります……というか「NOT NULL制約」という言い方の方が一般的だと思います。
※本ページでも以降は「NOT NULL制約」と表現します。

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

非ナル値制約12

例えば、そうですね。

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

非ナル値制約13

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

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


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

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


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

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

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

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

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

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

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

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


image piyo2

一言でまとめるよ

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

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

おまけ

■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
おい点P、動くんじゃねえ!──ニガテ民のための算数と数学の本
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け