1
0

More than 3 years have passed since last update.

応用カリキュラム 08 データベース設計 02

Posted at

中間テーブル

データベース設計においては、
エンティティ同士のリレーションをER図に表すが
中には、多対多のリレーションになるエンティティが出てくる。

そういったリレーションをデータベースで表現する場合は、中間テーブルというものを用いる。
エンティティ同士の組み合わせを記録するテーブルを作り
一対多の関係を経由することで、多対多のエンティティを繋げることができる。


railsにおいてA-B(多対多)のテーブルの間に中間テーブルを設ける場合は、

As_Bsテーブルとして、
その中間テーブルのアソシエーションは、
belongs_to :A
belongs_to :B
となって、

A,Bテーブルのアソシエーションは、
has_many :As_Bs
has_many :B, through: :As_Bs
となるみたい。

テーブル名は必須ではなく、適切な名前がなかった場合の慣例?っぽい。


テーブル定義を行う際は、制約インデックスを想定しておくのを忘れずに!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0