购物商店及其架构的基础知识

时间:2014-10-11 17:17:14

标签: database e-commerce shopping-cart inventory-management

我打算制作一个通用的购物商店网站,比如alibaba.com的小版本,不同的商家可以使用它来在他们自己的购物商店版本中列出他们的产品。

在开始项目之前,我想确定我要做什么。我想问的一件事是:


1)购物商店是否跟踪所有库存产品的原始成本以及产品的销售价格,或者只跟踪后者? 如果它跟踪两者,那么如果特定产品在不同时间以不同的速率在库存中输入,那么该模式将是什么样的,例如100个Product1的商品价格为100 $并且在date1和amp; 1上定价为150 $。在date2上,Product1再次被添加到库存中,耗资120美元这次,价格为150美元。如何在数据库中存储该信息,并在此方案中计算销售的利润和成本(COGS)。我对FIFO LIFO库存管理略有了解,但我不确定它是否会成为购物商店的一部分,或者购物商店不负责跟踪销售商品的原始成本与利润。如果是,那么数据库的模式应该是什么来满足这些要求。


2)在典型的购物商店中,单个产品具有不同的属性和优点。购物商店知道具有特定属性的产品的当前数量。例如,productId = 1的T恤可以有两种不同的颜色,而库存中有10件蓝色T恤& 5件黑色T恤,productId = 1& attributeId = 1&分别为2。如何跟踪具有不同属性的同一产品的库存。我的意思是数据库中只有一个Product表,架构如何满足这些要求,即库存知道具有相同productId的不同属性产品的数量。


我在这里发布一个问题之前用Google搜索了很多。我来了一些购物商店的数据库模式,但我不确定他们如何管理库存,记住我的上述两点。请看看它&告诉我路线图是什么样的。 最后我想做自己的购物商店&不仅仅出于学习目的而使用预建购物商店以及其他一些原因。我将使用ASP.Net MVC和sqlserver。

请参阅我在谷歌上找到的购物商店架构的附图。 SoftSLate Shopping Cart

我将如何跟踪&如果我使用图片中显示的较小版本的架构,则维护库存。他们在哪里指定产品的数量,因为产品表没有它。另外,我如何保持数量,成本和具有不同属性的同一产品的价格。

感谢。

1 个答案:

答案 0 :(得分:4)

1)库存总是反映当前价格。应该有一个购物车,其中包含正在进行的订单 - 以及一个单独的订单商品表,其中包含特定订单的商品。订单商品表中的价格不会更改,因为它与特定订单相关联。因此,您拥有当前定价的当前库存,并且您有订单记录和销售量。

与购物车中的价格相比应该改变,因为它们应该反映产品的当前价格。产品价格在完成交易时冻结 - 而不是在将商品放入购物车时。

同样地,当有人在购物车中放入物品时,库存不会减少 - 当交易完成并且物品实际售出时,库存减少。

2)在更大的商业世界中,每个人都可以购买'产品具有唯一的UPC代码或EAN代码。并且商家可能拥有他们用于库存的自己的SKU。并且电子商务系统可以为每个产品具有其自己的ID。以这种方式看待 - 如果产品有单独的库存,则必须有一个单独的ID才能跟踪该库存。如果一件衬衫有3种尺寸和2种颜色 - 这相当于6种不同的产品,用于放置在货架上的库存。

即使衬衫只有一个网页 - 不知何故,商家必须知道每个特定尺寸和数量的多少。颜色有库存。因此,对此的一种描述称为父产品 - 儿童产品。父母产品是"衬衫" - 描述,图片,页面,评论等。儿童产品是实际可购买的项目。亚马逊卖家中心对此有一些很好的描述。

我的建议是创建您的系统,以便购物车无法控制价格或库存。有一个最新的产品数据库,您的电子商务系统正在不断检查。您将产品ID存储在购物车中,然后在任何购物车刷新和结账时 - 您将从产品表中获取价格并检查库存。 VERSUS将产品页面中的价格传递给您的购物车,并且再也不会检查它。