目标:对于一个简单的toDo应用程序,需要存储任务和可能的子任务(Model 1)。
有一个使用递归关系的表还是使用两个表“更好”?在你看来是有利的还是不利的?对性能、可用性等有积极/消极的影响。用这种方式使用递归的方法正确吗?
模型1:两个表中的任务、和子任务。不需要更多的子任务级别。
模型2:任务和子任务在一个表中。顺便说一句,这是正确的,这个设计有无限的subtask-levels (除了技术的丰富)?任务子任务子任务..。
发布于 2013-11-23 22:22:44
我不知道你为什么这样提出你的问题,是什么使你困惑。
一个典型的数据库例子是存储员工的数据库。在employees表中,还存储经理,因为经理也是员工。所以你所描述的模式2并不是什么“奇怪”的东西。
自联接是一个常见的查询。
尝试以一种使查询尽可能简单、模型易于理解和扩展的方式来定义表。
在这种情况下,只有当每个子任务都有其他任务没有的额外信息时,才应该定义第二个表。
在您的模型1中,正如您描述的那样,您只复制主表的列。这不是一个好的设计,海事组织。
据我所知,模型2符合您所要做的。
https://stackoverflow.com/questions/20168278
复制相似问题