" hook"是否可以进入多对多关系表?

时间:2014-03-20 09:09:09

标签: sql sql-server relationship

我有3个表:食谱R,成分I和成分安装IA

R和我有一个多对多关系连接表。

现在,我需要将IA链接到I,这样我知道fx配方需要马铃薯(I),数量为2 kg(IA)

我应该从IA获取FK,还是可以将IA FK挂钩到I和R之间的多对多关系表?

或者有更好的方法吗?

提前致谢

1 个答案:

答案 0 :(得分:3)

我认为如果你以相反的方式做到这一点会变得容易得多

我会这样读:

A recipe has a set of ingredient amounts
an ingredient amount has one ingredient

这意味着你有一个像

这样的食谱表
RecipeId Title

一个成分数量表,通过外键引用配方和成分,例如

IngredientAmountId RecipeId IngredientId Amount

成分量最终参考成分本身

IngredientId Title

因此,只有少数一对多关系(一个配方含有多种配料量,一种配料可以属于许多配料量),不需要多对多的关系。

TL; DR

在你的问题中,你说你已经将配方与食谱“连接起来”,在我看来这是有缺陷的;配方和配料之间应该存在联系,而配料和配料之间应该存在另一种联系。