Oracleの数値項目のNOT NULL設計

DB設計で数値項目にNOT NULL制約を付けるかどうかについてです。

数値項目は例えばIDや金額とか個数などの項目が数値項目になると思います。

金額や個数はDBでNOT NULL制約をしておかないと、PG側でNULLの考慮をする必要が出てきます。(例えば「金額 × 個数」などにPG側でNULL考慮が必要)

なので数値項目は基本的にはNOT NULL制約を付けるべきです。(DEFAULT 0)

但し、IDなどはNOT NULL制約を付ける必要はないと思います。

PGでバグになりうるのであれば上流工程できちんと設計すべきです。

コメント

タイトルとURLをコピーしました