健全なシステムは健全なデータ構造に宿れかし

近日中にリリース予定のシステムについて、
いきなりデータ入力の特例をPMが作り始めた。
いやイレギュラー対応とかあるなら最初から仕様に盛りこんどいてyp
簡単なシステムに簡単なデータ構造が良いと言う向きもあるけど、
最近それは大きな誤りなケースもあると感じてるところですな。
簡単なデータ構造にして、なんでも入るテーブル構造にすると、
後からデータ移行とかプログラム拡張するときに嵌まる。
大抵入っているデータの幅が広すぎて山ほどの制御をプログラム中に書き込む羽目になる。
なんでも入る帳簿が欲しければExcelでも使ってればいいんだよね。
きちんとリレーショナルに正規化したデータ構造にして、
エンティティ切って作れば一つのテーブル直しただけで
全部のシステム見直し、なんてことにもならないし、
オンラインの行ロックでバッチが止まったりすることもない。
簡単なのが良いんではなくて、扱い易いのが良いのですな。