Database design 此表关系是否有效/良好实践?

Database design 此表关系是否有效/良好实践?,database-design,Database Design,我一直在创建表之间的一对多关系,到目前为止,我已经完成了以下工作。您可以看到orders\u head表与orders\u items表是一对多关联的。由于多个项目可以在一次移动(装运)中装运,并且一次移动(装运)可以有多个项目,因此有一个多对多表连接这些项目。我还知道,当下订单时,它仍然需要分阶段进行——这在onhands(库存)表中被捕获,以便单个订单可以有许多onhands 问题是如何连接onhands表和movements表。我知道,一个单一的运动可以有许多现货从多个订单一起发货。在动作

我一直在创建表之间的一对多关系,到目前为止,我已经完成了以下工作。您可以看到orders\u head表与orders\u items表是一对多关联的。由于多个项目可以在一次移动(装运)中装运,并且一次移动(装运)可以有多个项目,因此有一个多对多表连接这些项目。我还知道,当下订单时,它仍然需要分阶段进行——这在onhands(库存)表中被捕获,以便单个订单可以有许多onhands

问题是如何连接onhands表和movements表。我知道,一个单一的运动可以有许多现货从多个订单一起发货。在动作和实际操作之间存在一对多的关系

是否有任何理由(逻辑/最佳实践)反对向tbl_onhands添加外键并将其链接到tbl_移动

这感觉不正确,因为它“跨越”了我已经建立的关系。我一直认为,通过适当的设计,查询连接总是可以“上下”跟踪一对多实体关系。这意味着,在这种情况下,我可以通过中间表将tbl_onhands与tbl_移动联系起来

我所拥有的: . . . . .

我的问题是: