2012-07-17 66 views
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。谢谢!三个实体的数据库结构

回答

0

您需要一个有project_iduser_id字段的表格。此表中的每条记录都将一个客户与一个项目相关联。您可以根据需要将任意多个客户端关联到项目,或者根据需要将多个项目关联到客户端。