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_iduser_id字段的表。此表中的每条记录都会将一个客户与一个项目相关联。您可以将任意数量的客户关联到一个项目,或者将任意数量的项目关联到一个客户。

于 2012-07-17T17:23:54.497 回答