我正在尝试构建电子商务数据库,但我不了解订单,产品和客户之间的关系。 有很多数据库示例,但它们太复杂了。是否有更简单的解释或关于可能的表和关系的示例。
感谢。
答案 0 :(得分:3)
如果客户可以拥有多个订单且订单可以包含多个产品,则这是最简单的形式:
ORDER
表包含有关订单日期和状态的信息。
ORDER ITEM
表包含有关订购产品数量的信息。
比这更简单的唯一方法是,如果您的业务规则限制为“我不会跟踪我的客户从一个订单到下一个订单”或“每个订单仅针对一个订单”。如果您确实拥有这些(不切实际的简单?)规则,那么您可以减少模型中的表数。
请注意,这个非常简单的模型开始变得更加复杂,您希望它变得更加灵活和逼真。例如,添加定价,付款方式,付款或库存都会增加很多复杂性。
答案 1 :(得分:1)
我有一个“手卷”电子商务系统。该公司有一个内部web + mysql服务器(典型的ubuntu LAMP)。虽然数据库结构的设计没有得到很好的优化,但它运作良好。
我们使用的表是: order_main 订单详细信息 order_payment
在这里,简单地复制了来自上述理想模型的许多“链接”数据。网站前端简单而愚蠢。客户必须在每个订单中重新输入数据。
在上面的例子中,MySql是通过cron或用户交互运行的php脚本更新的。该网站的文件是从主电子表格更新的,该电子表格将被处理以生成静态HTML文件。因此,flatfile可以被视为项数据的主要或创建者。该网站生成了瞬态客户数据,最终将其输入Quickbooks,后者运行整个业务流程。
订单将驻留在网络服务器上一分钟,直到内部LAMP服务器将其关闭。这种方法工作了大约7年(当我们去Magento时最终放弃了。)
稍后,添加了项目级别,并围绕从MySql数据库而不是电子表格平面文件创建网站构建了整个UI。这花了我大约一年的代码,我们使用它大约2年,而Magento改进到足以投入生产。现在,Magento运行业务流程,出口到Quickbooks是事后的想法(关于客户体验),QB仅用于会计。我觉得更好的是不必依靠QB来获取我的日常收入。