概要 こういうテーブルを見たことはないだろうか。 statusごとに、nullable, not nullカラムが混在しているクレイジーなテーブルである。 どんなときに、値が入るねん!と不安にさせてくる。 どの現場にも存在して、もはや既視感すらある。 このテーブルの問題点とその解決案を説明していきたい。 登壇しました 対象読者 テーブル設計を学んでいる方 技術的負債を解消したい方 いいね!してね この記事の事例は必要に応じて今後追記していく予定です! 「新しい事例が知りたい」「他の事例も知りたい」と思った人は、ぜひこの記事にいいね👍してください。筆者のモチベーションにつながります! それでは以下が本編です。 結論 ✅テーブルに状態を持たせない(statusカラムをつけない)、ロングタームイベントパターンでテーブルを分割する。 テーブルの数は多いけど、シンプルで可読性が高い 解説は別記事