メモなので粗め。
RDBMSの主キー
- 適当に(レコードと無関係に)付与する
- 体系に沿った(レコードと関係のある)ものを付ける
1=id(識別子)、2=code(符号)って勝手に呼んでた
なるほど、冒頭の1(id)は代理キー、2(code)はナチュラルキー。
- Railsの設計はデフォルトで代理キーになってる
- BI系とかだとナチュラルキーの場合も多い気がする
- でもどっちでもない外部参照(?)とかあったりする...
とりあえず、どっちでもない外部参照はbelongs_toのスコープで強引になんとか。
Out of Rails' way!
おまけ
- ナチュラルキーかつ複合キーの時はcomposite_primary_keys gemの出番
- 実は↑のgemはRailsの代理キー残したままでも使える
コメント