データベース 2024-03-30 ⏱ 約 4 分

DB設計におけるNULL:よくある落とし穴とベストプラクティス

DB設計におけるNULLの扱い方を解説する記事です。NULLとは「値が存在しない」または「値が不明」であることを示すもので、通常の値のようには比較できません。三値論理による落とし穴やリレーショナルモデルとの関係をふまえ、NULLを使う場面・避けるべき場面とベストプラクティスをまとめます。

Read in: en
DB設計におけるNULL:よくある落とし穴とベストプラクティス

NULLとは

「値が存在しない」または「値が不明」ということを示す。

値ではないため値のように比較できない。

空集合(要素が0個の集合)ではなく、存在しない集合と見なされる。

リレーショナルモデルに反するNULL

リレーショナルモデルは閉世界仮説(真であると判明しないものは全て偽であると仮定すること)に基づいており、NULLはこれに反する。

リレーショナルモデルでは2値論理が元となっているため、真と偽以外が存在する3値論理は受け入れがたい。

NULLの影響

NULLの対策

空文字とNULL

空文字は長さが0で、存在する文字列であるの対し、NULLは存在しない集合であり、両者は区別されるものである。

NULLを許容するケース

リレーショナルモデルに合わないデータを扱う場合は許容しても良いと考えられる。

関連記事

参考

Tags: DB
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ サポート

このブログを応援していただける方は、以下からサポートをお願いします。いただいたサポートはブログ運営・技術研鑽に活用します。


関連記事