我有3个表代表非通用的多对多连接:
包:package_id
项目:item_id,package_id
用户:user_id,package_id
因此,我将用户连接到项目,即一个用户可以连接到多个项目,并且项目可以连接到多个用户。 这仅限于两个用户无法连接到具有部分交叉的多个项目的情况。我很好 - 我的情况自然受到限制。这里的包是一种连接表,用于管理具有自动增量属性的package_id。
我的任务中的典型选择 - 查找与给定用户关联的所有项目。并且可以完全不使用包表来进行选择。
因此,我可以完全从这个方案中删除Packages表。唯一要做的事情 - 为新项目组仔细选择package_id,这是相当可行的。
问题是:为什么这是一个坏主意?
答案 0 :(得分:2)
如果您需要执行上面列出的操作,那么从您的方案中删除包表是个坏主意。