テーブルにチェック制約を張るのは個人的にはナシ。
そういうチェックはアプリケーション側でやるべきだと思う。
DBには余計な負荷はかけるべきではない。
NotNull制約に関しては…迷うところ。
やはりDBには余計な処理はさせたくない。
とはいえ、NULLという特別な存在がジャマな時があったりもする。
ちょっとさっき思いついたのだが、
テーブルを作る際に、管理用として格納されている値のチェックを行うストアドを一緒に作ったらどうだろう。
あくまで管理用なので、アプリケーションからは呼ばない前提。
でも、テストの時に値をセットしてからこのストアドでチェックを行えば、
変なデータをチェックできる!
PR