様々なところで名著と言われている”SQLアンチパターン”を最近読みました。この本にはデータベース設計やクエリなどでやりがちな様々な間違い(アンチパターン)が載っています。今回は私も身に覚えがあるアンチパターン:ポリモーフィック関連について紹介したいと思います。 SQLアンチパターン ポリモーフィック関連 ポリモーフィック関連とはある一つのカラムが複数のテーブルを参照しているようなパターンです。 例えば管理ユーザテーブル(admin_users)と一般ユーザテーブル(users)によってユーザを管理している時に、それらのユーザのログをユーザログテーブル(user_logs)でまとめて記録したい場合にポリモーフィック関連を使う可能性が出てきます。 図にあるようにuser_logsテーブルはadmin_usersとusersテーブルをusers_idによって参照しており、どちらに参照するかはus