在我的电子商务应用程序(咖啡馆/餐馆)中,我目前拥有以下数据库结构。
购物车是购物车,您可以在其中添加产品,在产品/订单发送到服务器之前的临时位置。 ProductCart
是一个订单项,许多产品(可能是相同的)具有不同的数量,尺寸,油炸等级。当订单发送时,购物车被清除,购物车中的产品被转移到ProductOrder
实体(Order
)。
我现在想进一步扩展这一点,因为产品具有成分的能力,这是我的头脑和数据库技能变得棘手和复杂的地方:-)。除了(相同)产品可以具有不同的尺寸和油炸水平(因此是产品系列),产品应该能够具有许多不同的成分(添加物),例如披萨,在那里您可以选择浇头。这是我到目前为止所尝试的:
但我不确定这是否是正确的结构或方法呢?
答案 0 :(得分:1)
这是我的建议。
删除ProductOrder
和Order
个实体。它们与ProductCart
和Cart
相同。
现在ProductCart
应该有synchronized
之类的属性1
或0
,如果已经发送到服务器的话。
通过这个你应该简化你的模型很多。关于Ingredient…
个实体,他们似乎对我很好。
答案 1 :(得分:1)
你有一些基本的东西没有掌握核心数据。您的ProductOrder
实体本质上是一个连接表。如果您没有跟踪此表中的其他属性,则完全没有必要。
相反,您应该在Order
和Product
之间建立多对多关系。
似乎ProductCart
满足我的条件,在这种情况下,连接表是有意义的。但不是 - 您只需将订单添加到购物车并跟踪Order
实体中的所有信息。