在我们公司,我们正在尝试实施适合我们需求的库存管理系统。
我们有几个部分来生产产品(子组件,最终产品):,tpart
所以这可以是原子部分,子组件或最终产品。子组件和最终产品由tbom
(材料清单)定义:这是定义侧。
现在对于实例方面:每个添加的部分或离开我们公司的部分都存储在ttransaction
. 假设在供应商处订购了 10 个螺栓并在我们公司交付,然后我们使用这些螺栓的 tpart_id 添加交易“+10”。对于我们公司生产的最终产品的相同想法,我们将创建一个“+1”交易来识别最终产品。如果将最终产品运送给客户,则会添加“-1”交易。最终产品由序列号标识。
问题是我们希望能够创建某个部分实例的详细历史记录。某些零件可能存在缺陷,然后将其退回进行维修,之后它们可以再次离开公司,用于同一甚至不同的客户。如果可能的话,我们还想知道在维修期间更换了产品的哪些部件。
我们的(临时的、部分的)数据库模型如下所示:
ttransaction_info
我认为可能会被省略,ttransaction_info_has_tpart
然后会包含有关更改/修复的部分的信息。
什么时候ttransaction
很大(很多行),查询表和执行插入仍然足够快吗?我相信会从这个表中检索到很多数据,并且我已经有几个索引。
我正在考虑的另一种选择是有一个tinstance
表(与 分开ttransaction
)和一个thistory
引用 tinstance 条目的表。
这是正确的实施方式吗?我不确定我应该朝哪个方向前进,所以如果有人能对此有所了解,将不胜感激。