物料清单和版本控制

时间:2013-09-25 09:28:46

标签: mysql database-design relational-database entity-relationship

对于我们的定制库存管理系统,我们在tpart表中定义我们的机器零件和组装产品。要定义物料清单,我们有一个tbom表。

enter image description here

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

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

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

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

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

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

tbom table

revision_history table

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

  • 您不必存储(或克隆)parentpart_id和subpart_id 每次修订。这将允许您减少表的大小 消除不必要的信息
  • 您可以为每个bom项目存储无限数量的修订记录。
  • 您可以通过加入外键来设置更高效的结构。
  • 您可以将其他历史记录详细信息字段添加到新表中,例如 revision_purpose,recorded_issues等。您也可以创建 按照新表格存储修订的详细信息。

revision_history_detail table

希望有所帮助