对于我们的自定义库存管理系统,我们在tpart
表中定义机器零件和组装的产品。要定义物料清单,我们有一个tbom
表。
每个部件都有一个修订版(已进行更改,并且该部件仍可与先前的修订版互换;换句话说:具有相同修订版的两个部件-相同的ID-可以一对一地替换)。
我们需要的是修订历史记录。实现此目标的最佳方法是什么?tbom
中的复合主键是否正确?
每次创建新修订时,是否都需要将前一个修订中的所有条目(在tbom
中)复制到新修订的条目中?
当子部件更改时,所有父部件是否都必须更新其BOM和/或修订版?
还是有一个单独的trevision
表更好的做法?
任何帮助是极大的赞赏!
最佳答案
我可以为您的案例提供以下设计。
通过添加新的修订历史记录表,您可以获得以下好处。
您不必存储(或克隆)parentpart_id和subpart_id用于
每次修订。这将使您减少表的大小
消除不必要的信息。
您可以为每个物料清单存储无限数量的修订记录。
您可以通过加入外键来建立更有效的结构。
您可以将其他历史记录详细信息字段添加到新表,例如
version_purpose,recorded_issues等。您也可以创建
跟随新表存储修订的详细信息。
希望能帮助到你
关于mysql - Material list 和版本控制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19001144/