2012-07-17 86 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字段的表格。此表中的每條記錄都將一個客戶與一個項目相關聯。您可以根據需要將任意多個客戶端關聯到項目,或者根據需要將多個項目關聯到客戶端。