来自不同表的 2 个主键的外键

时间:2021-02-06 00:24:35

标签: sql

当表来自“many”时,我对如何在2个表之间建立一对多关系存有疑问side 有一个外键字段,用于接收来自不同表的 2 个主键的数据。

问题是在tblInput(一)和tblFabricatedProductComponents(许多) 表。 tblFabricatedInput(一个)和 tblFabricatedProductComponents(许多)表之间也会发生同样的情况。

请查看附加的架构。我想你们会明白很多。此字段以红色突出显示

提前致谢。

ps:我的想法是我必须将 tblFabricatedProductComponents 拆分为:

tblFabProdComponentsFromInput

tblFabProdComponentsFromFabricatedInput

enter image description here

1 个答案:

答案 0 :(得分:0)

如果我没理解错的话,您有两种类型的输入:简单的原料,如糖、椰子等,以及加工的输入,如椰子奶油,它由多种简单的原料组成。如果是这样,我会将 tblInputstblFabricatedInputs 结合起来并引入一个新字段 input_type,如下所示:

enter image description here

重要提示:tblFabrInputIngredtblFabrProdComp 没有任何关系。它只是 tblInputs 的一个明细表。 tblFabrProdComp 仅与 tblInputstblFabrProducts 相关。

如果你想计算一个椰子奶油蛋糕需要多少糖,那么你可以通过一个简单的连接来计算。