開発者の経験上、NULL を格納する必要のない項目には NOT NULL 制約を付与する方がメリットが多いと感じています。 ご質問はSQLアンチパターンで言う所の「フィア・オブ・ジ・アンノウン(恐怖のunknown)」に通じる内容ですね。 (手元に資料がないのでうろ覚えですが)フィア・オブ・ジ・アンノウンでは、NULLが必要な項目にNOT NULL制約を入れるアンチパターンについて言及していたはずです。 例えば男性=1 女性=2のカラムに未入力=unknownを設定していたところ、ある日入力欄に「不詳」が追加されて不詳=unknown 未入力=nullにする設計変更が入ったため、本番環境のデータ更新を余儀なくされるケースなど、ひと手間かかるアンチパターンです。 別のアンチパターンとして、NOT NULL制約が必要なカラムに制約を設けていないことも挙げられます。 有効フラグが立っていないレコ