【发布时间】:2015-05-24 12:19:34
【问题描述】:
我正在尝试绘制电子商务的数据库设计,以及订单平台的履行。该公司目前有一个配送中心来完成订单。但他们希望将其扩展到将其商店用于履行过程的一部分。我已经设计了一个“互联网销售”和“商店销售”的数据库,但我被困在互联网订单的履行上,不知道你们是否可以帮助我。
场景:当客户下订单时,配送中心没有库存要运送给客户的商品,需要从其中一家商店取货.然后将该项目发送给客户。
但问题是我不能只从商店拿一件商品,然后将其发送给客户,因为该商品尚未在商店出售,它的(商店)库存数据库不可用要被更新。如果我将物品通过自动取款机,该物品将从库存表中删除,但同一物品有两次交易 - 一次来自互联网,另一次来自商店。
我想我的问题是,我该如何处理互联网订单,并避免在同一商品上进行两次交易?
非常感谢任何有关此问题的有用指示。
更新:这是我在 Jo Douglass 的建议下到目前为止所做的事情,
抱歉,我无法发布图片,因为我没有足够的积分。并且请注意上面的数据库设计是不完整的
【问题讨论】:
-
我已经回答了,但是相当高级;如果没有看到您现有的模型,很难给出更详细的答案。如果您在阅读我的答案后仍然不确定如何解决这个问题,请评论我的答案并告诉我。如果您可以编辑您的问题以显示现有模型的相关部分,它将有助于为我的答案或可能发布的任何其他答案添加更多细节。谢谢!
-
好的 - 在我对设计进行深入研究之前立即提出问题。你为什么用事实和维度来创造这个?维度数据库用于数据集市或数据仓库——即商业智能等下游报告和分析功能。用于事务系统的数据库通常更加规范化,并且没有事实或维度的概念。
-
由于遗留数据库,我已经这样做了。我将需要从旧数据库中提取数据,并保留历史数据以进行报告。这是业务需求之一。
-
您是否也将其用作系统的主数据库?在您最初的问题中,您似乎在讨论实时系统的数据库,而不是报告数据库。
-
不,这不会用作主数据库。这是配送中心和商店的订单履行流程。他们将查看这些数据,然后打印标签并将包裹发送给相应的客户。对于任何混淆,我很抱歉,我不是故意的。
标签: mysql database database-design