質問: ActiveRecordなどのORマッパーを使えば、 データベース側のアソシーエションを設定していなくても、 テーブル名やカラム名からアソシーエションを組んだように扱えますよね。 そうなるとデータベース側の設定はしなくてもいいかなと思ってるのですが、問題ないでしょうか。 もちろんインデックスなどは設定しようと思います。
回答: > そうなるとデータベース側の設定はしなくてもいいかなと思ってるのですが、問題ないでしょうか。 ↑の内容はプログラム側にバグがないという前提が必要になりますね。 メリットとして以下のものがあると思います。 * CASCADE等を利用することでプログラム側がシンプルになる * DBを見るだけでentity同士の関係性がわかる。(特にDBからER図を生成した時など) デメリットとしては以下のものがあると思います。 * テストデータの管理が複雑になる。 * バックアップ、リストアが困難になる場合がある。 メリット、デメリットがあるので絶対に設定しなければならない/設定してはいけないとはいいづらいです。 "外部キー メリット デメリット"で検索してみて、システムに合わせてきめられることをお勧めします。