首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >团购网站的数据库设计

团购网站的数据库设计
EN

Database Administration用户
提问于 2015-02-27 00:27:59
回答 1查看 236关注 0票数 0

什么是最好的方式来接近一个群体购买网站的数据库设计?

如果你不熟悉团购,人们就会购买一笔交易,当"n“数量的人购买这笔交易时,交易就会被激活,产品就会被运送给交易的定购者。然而,在"n“人买下它之前,这笔交易是不会发货的。此外,要求一笔交易可以有很多“团购”,这意味着一旦"n“人购买了这笔交易,交易就不会完成,而是以"k”次数重新启动。

我所想到的是有一个“交易”表,其中有许多“组”表(每个组代表交易的"k“次数之一),而每个”组“表都有"n”个订单表。当组表具有正确的"n“个订单阈值数时,该组将被”激活“。

代码语言:javascript
复制
An example
    Deal ---> Group ---> order
       |            ----> order
       |     
       ------> Group 

我在设计中遇到的一些问题:

  1. 在交易初始化时,您必须创建所有与交易相关的"n“组行,即使其中一些"n”组可能没有任何订单(特别是如果没有人购买该交易)。因此,即使没有人集体购买他们的产品,也可以很容易地指定可以分组购买--购买100,000次(使我们创建了100,000行)。另外,如果那个人想要删除他们的交易,我们必须删除10万行。
  2. 跟踪这些团体是件痛苦的事。处理订单时,如何知道要向哪个组添加订单?如果有人(或每个人)想要一个组内的退款,那么我们应该向哪个组添加一个新的订单,因为他们可能是一个组与一些人,另一个组与一些人。
EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-02-27 03:43:27

这是一个我提出的想法,可以帮助(见附图)。

交易表很简单。它有一个ID来定义交易的细节(如产品名称、来源等)。该信息通过ID传递到一个deal_instance表,该表旨在设置该交易的单个销售。这就是你的"K“出现的地方。

然后我添加了一个客户交易表,因为任何数量的客户都可以购买任意数量的交易,反之亦然,但是在客户交易表中,购买的数字会被记录下来,这样您就可以知道哪个客户购买了哪一笔交易,以及购买了多少次。

然后使用这些信息来找出n个人什么时候买了这笔交易,以及买了多少次。一旦满足了这个值,您就继续使用相同的交易ID将另一个记录添加到deal_instance表中,为相同的交易创建另一个实例。如果我没有弄错,最左边的行需要是箭头,而不是斜线。(对许多关系)。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/93951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档