关系数据库设计(E-Commence) - 核心数据

时间:2014-01-12 13:09:03

标签: ios objective-c core-data nsmanagedobjectmodel

在我的电子商务应用程序(咖啡馆/餐馆)中,我目前拥有以下数据库结构。

enter image description here

购物车是购物车,您可以在其中添加产品,在产品/订单发送到服务器之前的临时位置。 ProductCart是一个订单项,许多产品(可能是相同的)具有不同的数量,尺寸,油炸等级。当订单发送时,购物车被清除,购物车中的产品被转移到ProductOrder实体(Order)。

我现在想进一步扩展这一点,因为产品具有成分的能力,这是我的头脑和数据库技能变得棘手和复杂的地方:-)。除了(相同)产品可以具有不同的尺寸和油炸水平(因此是产品系列),产品应该能够具有许多不同的成分(添加物),例如披萨,在那里您可以选择浇头。这是我到目前为止所尝试的:

enter image description here

但我不确定这是否是正确的结构或方法呢?

2 个答案:

答案 0 :(得分:1)

这是我的建议。

删除ProductOrderOrder个实体。它们与ProductCartCart相同。

现在ProductCart应该有synchronized之类的属性10,如果已经发送到服务器的话。

通过这个你应该简化你的模型很多。关于Ingredient…个实体,他们似乎对我很好。

答案 1 :(得分:1)

你有一些基本的东西没有掌握核心数据。您的ProductOrder实体本质上是一个连接表。如果您没有跟踪此表中的其他属性,则完全没有必要。

相反,您应该在OrderProduct之间建立多对多关系。

似乎ProductCart满足我的条件,在这种情况下,连接表是有意义的。但不是 - 您只需将订单添加到购物车并跟踪Order实体中的所有信息。

相关问题