2012-04-05 52 views
0

我正在研究一個名爲lists4me的簡單Rails應用程序來創建一個簡約的任務管理應用程序,並在交易中學習Rails。我設置的表格是用戶,類別,項目,任務和步驟。基本上用戶有很多類別,一個類別有很多項目,一個項目有很多任務,一個任務有很多(可操作的)步驟。目前,user_id字段在類別表中設置,但不在其餘表中。數據庫設計 - 我是否需要將用戶標識設置爲待辦事項列表應用程序的所有表中的一個字段?

最近我在查看從todoist.com發佈的數據,當創建新的任務或項目時,user_id似乎也發送了。因爲我只在類別表上設置了user_id,這讓我想到了我的所有表都有一個user_id作爲字段嗎?如果是這樣,爲什麼?

回答

0

基本上,要回答這個問題,我會考慮這個問題「我需要知道哪個用戶(項目|任務|步驟)屬於哪個用戶?」

如果這不會是一個問題,或者因爲它不是必需的,或者因爲您可以簡單地通過類別將用戶加入(項目|任務|步驟)工作,那麼您將沒有問題其他表中的用戶標識字段。

但是,如果您經常想查找某個給定用戶的所有未完成任務,那麼可能需要在該處添加用戶標識字段以保存聯接操作,如果我的理解是正確的,並不是非常快。

+0

感謝您將問題放在獲取特定用戶未完成任務的角度!我肯定需要遲早做。我想我會添加user_id畢竟:) – walmik 2012-04-05 08:39:16

+0

我肯定也會考慮@dbaseman必須說的,而不僅僅是因爲他的用戶名引用數據庫。他提出了一個很好的觀點,即我沒有清楚地說明數據庫中的信息冗餘。 – 2012-04-05 09:01:50

相關問題