SQLアンチパターンを読み始めたので、1つ1つ書いてのメモです
目的
- 欠けている値を区別する
アンチパターン
一般値を NULL に相当するものとして扱うこと
- SQLは、null を False、空文字列と異なる特殊な値をとして区別する
- null をさけるために一般値を使う
用いてもいいパターン
解決策
NULL を一意な値として使う
- NULL は、TRUE でも FALSE でもない
- NULL は、検索時も別(IS NULLとか)
- NOT NULL 制約を使う
まとめ
データ型を問わず、欠けている値には NULL を用いるようにしましょう。
感想
なるべく、NOT NULL制約を使うようにしていたなあ