我在postgres中有一个产品表,用于存储我需要的所有数据。我需要找到最好的方法:
每种产品在完成方式上都有不同的状态 - 机加工,涂漆,组装等。对于每种状态,都会有一个字母在产品ID中发生变化。
保存数据的最有效方法是什么?对于产品的每种状态,表格中应该有“其他产品”吗?或者在某处工作时加入表?
示例:
111a1 for machined
111b1 for painted
然而,这些是同一个最终产品,只是在不同的阶段......
答案 0 :(得分:0)
这取决于你想要的效率:存储,摄取,查询,可维护性......
联接可以使用 - 您可以加入产品ID的某些子字符串,因此您不需要为每个生产阶段都有单独的产品。
但代码的可维护性非常重要。企业改变 - 可能包括子组件。
您可能想要重新考虑这种改变产品ID的方案来显示状态。产品ID和工作流状态是正交概念。所以你可能希望将它们放在不同的字段中。你可能会以这种方式编写更少的代码。替代方案将变得非常熟悉substr()
(取决于您的SQL方言),以及其他地方的各种重复。