gpt4 book ai didi

mysql - Material list 和版本控制

转载 作者:行者123 更新时间:2023-11-30 01:16:31 25 4
gpt4 key购买 nike

对于我们的自定义库存管理系统,我们在 tpart 表中定义机器零件和组装产品。为了定义 Material list ,我们有一个 tbom 表。

enter image description here

每个部件都有一个修订版(进行了更改,并且该部件仍然可以与之前的修订版互换;换句话说:两个部件 - 相同的 id - 具有不同的修订版是一对一可替换的)。

我们需要的是修订历史记录。实现这一目标的最佳方法是什么?

  • tbom 中的复合主键正确吗?
  • 每次创建新修订版时,是否需要将先前修订版(在 tbom 中)的所有条目复制到新修订版的条目中?
  • 当子部件发生更改时,所有父部件是否都必须更新其 BOM 和/或修订版?

或者拥有一个单独的trevision表是更好的做法吗?

非常感谢任何帮助!

最佳答案

我可以为您的案例提供以下设计。

tbom table

revision_history table

通过添加新的修订历史记录表,您可以获得以下好处。

  • 您不必存储(或克隆)parentpart_id 和 subpart_id每次修订。这将允许您将表的大小减小消除不必要的信息。
  • 您可以为每个 Material list 项目存储无限数量的修订记录。
  • 您可以通过连接外键来建立更高效的结构。
  • 您可以向新表添加其他历史记录详细信息字段,例如revision_ Purpose,recorded_issues 等。或者您可以创建下面的新表用于存储修订的详细信息。

revision_history_detail table

希望对你有帮助

关于mysql - Material list 和版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19001144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com