我现在(删除对这个问题不重要的)以下3个实体。 (我没有足够的声誉来添加图片,抱歉为ascii)
+------------+ +---------------+ +----------------+ | Product | | CartProduct | | Cart | +------------+ +---------------+ +----------------+ | name | | quantity | | total | | detail | | otherStuff | | subTotal | | minimumBuy | +---------------+ | taxes | | price | | onCart <----------+ | taxesPercentaje| | thumb | +---------------+ | +----------------+ +------------+ +-------> product | +----------------+
所以,我有一个产品实体,其中包含产品信息, CartProduct 实体,它添加了一些信息以及我们所拥有的产品数量购物车(并且是来自产品的子实体),最后是购物车。
规格说我需要在购买完成后存档购物车,产品与销售时一样,因此,即使将来产品价格发生变化,我也需要价格。 #34; CartProducts &#34;保持原样。
我到目前为止产品和 CartProducts 相关,但看到我需要保存购物车的状态以供将来参考,我不知道是什么将是最好的方式。
TL; DR :我是否在CartProducts和产品之间建立了关系,或者我是否只是在将产品添加到购物车时将数据复制到新实体&#34;知道我需要将产品的状态保存在购物车中,就像购买时一样?
答案 0 :(得分:1)
似乎要么至少某些数据需要进行非规范化(即复制),要么需要提出版本控制解决方案,并在进行更改时使用新版本的产品。后者听起来对我来说太复杂,从长远来看也无法维持,所以非规范化听起来就像是最好的解决方案。