/note/social

非正規テーブルとかJSON型とか

検索や統計の軸に使うことはないですねと何度も念押しした上で、それでいいならJSONカラムに突っ込むか、と思ったけど思い直して正規化したら、案の定半年もしないうちにこの属性を使ってクーポン配信したいですと言われたときのもやっと感

@knu

未来を予測することは困難である。したがって、目先の楽さよりも将来における保守性・再利用可能性を重視するべきである。

って事が非正規化おじさんには理解できないらしくてツライ(愚痴)。

MEMO:

現時点の仕様では、画面項目の出力用にしか使われないのでJSON型や非正規テーブルでもよいと言えばよい。しかし、将来的にこの項目を検索や統計の軸にする要望が発生する可能性が否定できない。

その時、検索ロジックを素直に記述できるかどうかは開発効率・ソフトウェアの品質に影響を与える。

したがって、データモデル設計は原則として正規化しておくべきである。