三个实体的数据库结构

时间:2012-07-17 17:20:33

标签: database

我是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。谢谢!

1 个答案:

答案 0 :(得分:0)

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

相关问题