我在这里看到了一些类似的问题,但没有人能得到我需要的答案.
我需要一种将多个项目与多对一关系中的单个条目相关联的方法.唯一的问题是这些项目也必须与其他条目相关联.想象一下作为各种配方的条目和作为零件/配料的物品.多个配方可能需要这些部件.
最理想的解决方案是每个配方条目都以某种方式包含一个项目ID数组,但遗憾的是,SQL数据库无法实现这一点.我能想出的唯一真正的解决方案是一个食谱表,它只存储食谱ID,名称,描述等,以及一个将食谱ID与物品ID相关联的表格.然而,这个解决方案似乎不切实际,因为我最终会在两列中都有一堆重复ID的表.
澄清一下,这就是我的意思:
recipeID | itemID 101 | 1001 101 | 1002 101 | 1012 102 | 1001 102 | 1031 103 | 1030 103 | 1031 103 | 1032
正如你所看到的,它很快就会变得混乱和重复.有没有更好的方法来处理这个?
此外,在这种情况下使用NoSQL面向文档的数据库会更好吗?这是我的另一个想法.
这正是你应该如何处理它.它被规范化了.它被称为联结表:http://en.wikipedia.org/wiki/Junction_table