2012-04-05 64 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

相关问题