複合キーとは
一般的にマスターテーブルは、idカラムを主キーとして使い制御します。
集計用のテーブルではレコードを狙って更新することはほぼないため、idカラムの設置はもったいないんじゃない?
万が一オーバーフローでもしたら・・・。
いや、LaravelだとUnsignedBigIntegerで18京なのでオーバーフローする可能性は0に近いです・・・。
Laravelではなく完全自作ならメリットあり
DBの容量は少なくできますし、SQLには
「INSERT INTO…ON DUPLICATE KEY UPDATE…」
というUpsert的な便利な構文も存在します。
LaravelのEloquantはidカラムありきで設計されている
複合主キーではfind()やsave()メソッドが失敗します。
結論:Laravelではidカラム必須で構築する
ムラムラする気持ちを抑えつつ機械的にidカラムを設置しましょう。
