SQLでnullを定義する方法(ドメイン値と比較できない非値として)は、nullが1NF(およびすべてのより高い正規形)に違反することを意味します。リレーション(正規化されたテーブルで表される数学的構造)は、すべての行のすべての列に対して単一の値を持っている必要があります。ヌルは値がないことを意味し、ヌル可能列は1つのテーブルに2つのリレーションがあることを意味します。ヌル可能列を除くすべての列を含むスーパータイプリレーションと、同じ主キーと以前にヌル可能列を持つサブタイプリレーションです。これは、属性がわかっている行のみを記録できます。正規化の目的は、情報を失うことなくデータセットを基本的な事実に分解することです。そのため、1つのテーブルに2つの関係があると、目的が矛盾し、関係代数や微積分などがより複雑になります。
通常の形式は、論理的に定義された正式な構造であり、状況に適応できる産業上のベストプラクティスではないため、論争の余地はあまりありません。それらを使用する必要があるかどうか、およびそれらをどのように処理する必要があるかは、より興味深いトピックです。
nullは通常の形式に違反しますが、SQLデータベースでnullを使用できないという意味ではありません。彼らにはリスクとメリットがあります。私も使用していますが、考慮に入れています。