【问题标题】:is there a MYSQL tables schema for storing raw material, intermediate and final products?是否有用于存储原材料、中间产品和最终产品的 MYSQL 表模式?
【发布时间】:2020-10-06 20:34:05
【问题描述】:

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

100 根线用于制作 1 块布。 3 块布用于制作 1 件衬衫。

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

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

【问题讨论】:

  • 三栏:源材料、结果产品、计数
  • 您必须只存储转换关系。有了源数据,您就可以使用递归 CTE 计算中间/最终数量。
  • @Barmar 但是从结果产品中知道源材料是不可能的。当前的实现只是这样。
  • I can change the data structure 您似乎没有要更改的结构。一个想法可能是有一张原材料表、一张中间产品表和一张最终产品/组件表。
  • 欢迎来到 Stackoverflow!你还试过什么?视觉表示将帮助其他人更具体地回答您的问题。

标签: mysql database inventory-management


【解决方案1】:

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

这可以用 5 个表来解决:

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

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

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

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

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

然后,当您销售产品时,您将有另一笔交易将它们从仓库中取出。当然,您还应该不时向仓库添加一些材料 - 否则很快就会变空(但这些超出了您的问题范围)。

【讨论】:

    猜你喜欢
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多