0

私は dbs を使用するのが初めてで、これがかなり一般的な問題であることを願っています。ユーザー、クライアント、プロジェクトがあります。ユーザーには多くのクライアントがあり、クライアントには多くのプロジェクトがありますが、ユーザーはクライアントのプロジェクトの一部しか表示できません。ユーザーテーブルがあります。user_id 列を持つクライアント テーブルがあるので、クライアントをユーザーに関連付けることができます。client_id 列を持つプロジェクト テーブルがあるため、プロジェクトをクライアントに関連付けることができます。クライアントのプロジェクトのサブセットを特定のユーザーに関連付ける方法を教えてください。したがって、client_xyz には project_a、project_b、および project_c があります。user_1 には、client_xyz の project_a と project_c のみが表示されます。プロジェクト テーブルに user_id という列を追加することもできますが、100 人のユーザーと 100 のプロジェクトがある場合、これはすぐに巨大になる可能性があります。データベースはどのように設定すればよいですか?私はそれを過度に複雑にしていますか?これは Rails 3 です。Active Record と SQLite を使用しています。ありがとう!

4

1 に答える 1

0

フィールドproject_idを持つテーブルが必要です。user_idこのテーブルの各レコードは、1 つのクライアントを 1 つのプロジェクトに関連付けます。必要な数のクライアントをプロジェクトに関連付けることも、必要な数のプロジェクトをクライアントに関連付けることもできます。

于 2012-07-17T17:23:54.497 に答える