我有以下数据库设计:
我想添加一个名为Task的新表,它与项目有一对多的关系(项目将有一个或多个任务,特定任务只属于一个项目)。下一个用户也将被分配到项目中的不同任务(基本上,User表需要与Task有多个多对多的关系,但这会在设计中创建一个循环)。这是一个好习惯,还是应该避免在设计中制作循环?
答案 0 :(得分:0)
下一个用户也将被分配到项目中的不同任务(基本上用户表需要与任务有多对多的关系......)
可能不是。
您可能只需要与分配给特定任务的特定项目相关的用户。因此,您需要来自任务的外键来引用项目的用户,似乎是奇怪命名的表" Project_userprojectrelation"。
"循环"当您需要级联更新或删除时,有时会令人讨厌。但是你通常可以从" end"删除行。或者"中间"循环向"顶部"。唯一不行的是当你有外键在同一个方向上围绕循环互相追逐时。大多数dbms会警告你这类问题。