我想了解如何設計一個數據庫,可以容納每個用戶不確定數量的字段。設計數據庫以適應不定數量的用戶的最佳方式?
例如,用戶1涉及項目A,B和C.用戶2涉及項目A,C,E和G,而用戶3涉及項目A,B,C,D,E,F和G.
一張表格列出用戶列表中,然後再列出7列記錄他們參與的項目將非常好的...直到我不得不容納User4參與100個項目,其中我的模型,需要100列保持跟蹤。
最終沒有辦法事先知道要定義多少列。
我可以將其翻轉並將用戶1與項目B相關聯,但隨後進一步沿着道路行進,在有10,000個項目後,我必須查看每個項目記錄以生成項目的完整列表一個特定的用戶已經參與了,這似乎非常低效。
那麼...如何跟蹤?只是不能把我的頭圍繞在這個上面。
我是新手,所以請原諒,如果這是說不清或基本上。
感謝,
本
啊是的。項目僅限於20個貢獻者,因此ProjID爲20行(潛在)貢獻者UserID。這是否意味着我辭職到SELECT ProjID WHERE column_1 = UserID或column_2 = UserID OR ... column_20 = UserID?或者我可以更有效地做到這一點? – 2012-03-25 03:05:19
更有效率,我會編輯我的答案更清晰 – kaveman 2012-03-25 03:14:12
感謝TON爲你在這裏的努力,卡夫曼。我將不得不嘗試它,然後才能完全掌握它,但讓我重新說明我的理解,如果你閱讀了這篇文章,告訴我是否得到它:當用戶對項目做出貢獻時, ProjID和UserID被添加到user_projects表中。然後,我可以很容易地獲得ProjID的任何地方,即所討論的用戶的ID也存在。這似乎很容易說。合理?再次感謝... – 2012-03-25 03:32:50