制約

使ってます?ってDBなんですけどね。
アプリ側でチェックすることもできるし。


何で疑問に思ったのかというと、原因は外部キーなんですよ。
外部キーを設定しているとマスターに無いデータ入れようとしたらエラーを出してくれるんですけど、テスト段階でいろいろデータをいじるときに不便なんですよね。
今までやったシステムは外部キー使ってなかったりする。
でもNOT NULLやUNIQUEは設定してる。設定しててもアプリ側でチェックしてるんですけどね。
結果的にデータの整合性がしっかり取れてればシステムとしては問題無いと思うけど、パフォーマンスやメンテナンスを考えるとどうするのがベストなのだろう。
システムによるのだと思うけど。
今考えるとアプリ側でチェックしててもきちんと制約を設定していた方がチェック漏れでデータが入ることが無いから安全だよな。


DBって奥が深いよな。