是否有用于存储原始 material、中间产品和最终产品的 MYSQL 表架构?

is there a MYSQL tables schema for storing raw material, intermediate and final products?

我正在创建库存数据库,我有一些原始 material 被转换为中间产品,然后被转换为最终产品。例如

100根线可以织1块布。 3块布做1件衬衫

因此,如果我有 300 根线,那么我可以做 1 件衬衫。像这样,有几个层次的中间产品。如何将它们存储在 MYSQL table 中并从 X 中间级别转换为 Y?

如果你有更好的建议,我可以更改使用的数据结构。

这不是会计工作的方式。如果您想跟踪制造过程,那么您必须存储物品(原材料或最终产品)及其转换事实(文档)。

这可以用5张表来解决:

  • 物品(原材料、最终产品、涉及的劳动类型)
  • 户口(仓库、车间)
  • 交易header(您生产中间产品或最终产品所依据的文件)- 在这里指定日期、发行人、文件状态(草稿、有效、已取消)
  • 交易 body 左侧 - 此处指定来源帐户和来源文章(可能有多行)以及数量和度量
  • 交易 body 右侧 - 此处您指定目标帐户和目标商品(可能有多行)加上数量和度量

每笔交易都有左侧和右侧 - 来源和目的地。您将有 2 种交易:

  • 从仓库拿原材料+投入一些劳动力制造一些东西
  • 将生成的中间产品或最终产品放回仓库

对于类型 A,您可以在左侧指定所使用的原材料和劳动力 - 在右侧指定生成的中间产品或最终产品。帐户将 warehouse 作为来源,workshop 作为目的地。

对于类型 B,您在交易的双方都指定了相同的产品 - 但帐户将 workshop 作为源并且 warehouse作为目的地。

然后,当您出售产品时 - 您将有另一笔交易将它们从仓库中取出。当然你也应该不时地往仓库里补充一些材料——否则它很快就会变空(但这些不在你的问题范围内)。