さて、私にはユーザーと会社があります。私はユーザーの95%が1つの会社しか持っていないので、1対多の会社を作りたかったのです。
ユーザーテーブル
create_table "users"
string "email",
string "first_name"
string "last_name"
string "phone_number"
integer "company_id"
しかし、問題は、複数の会社に関連付ける必要のある管理者と、2つの会社を持つシステム内の少数のユーザーがいることです。
それで、多対多の関係のために、私は結合テーブルを想定しました
テーブルに参加
"company_users"
t.integer "company_id"
t.integer "user_id"
しかし、ユーザーの会社を頻繁に評価する必要があるため、会社に簡単にアクセスできるようにし、ユーザーの5%の参加テーブルを用意するのは嫌です。何か案は?