Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL产品销售模式_Mysql_Database_Database Design_E Commerce_Database Schema - Fatal编程技术网

MySQL产品销售模式

MySQL产品销售模式,mysql,database,database-design,e-commerce,database-schema,Mysql,Database,Database Design,E Commerce,Database Schema,我在创建一个网站的过程中,并希望一些关于我的数据库模式的建议,因为我在该领域没有太多的经验 假设我有一个站点,其中有两个产品在销售,分别是product1和product2 当用户购买任何一种产品时,他们将获得一个用户帐户,该帐户具有访问其帐户的密钥。用户可以从其帐户页面下载其产品。然后,该用户可以在以后购买剩余的产品,该产品将添加到他们的帐户中,允许他们使用购买第一个产品时提供给他们的密钥下载产品1和产品2 还将存储付款信息(付款方式、交易id、时间戳等) 我目前的计划是: 我觉得我做这件事

我在创建一个网站的过程中,并希望一些关于我的数据库模式的建议,因为我在该领域没有太多的经验

假设我有一个站点,其中有两个产品在销售,分别是product1和product2

当用户购买任何一种产品时,他们将获得一个用户帐户,该帐户具有访问其帐户的密钥。用户可以从其帐户页面下载其产品。然后,该用户可以在以后购买剩余的产品,该产品将添加到他们的帐户中,允许他们使用购买第一个产品时提供给他们的密钥下载产品1和产品2

还将存储付款信息(付款方式、交易id、时间戳等)

我目前的计划是:

我觉得我做这件事的方式不是最优的,有更好的方法来组织它。有什么建议吗


希望您能提前提供帮助并表示感谢:)

首先确定模式将存储的对象是一个好主意。看起来候选组件可能是

  • 使用者
  • (用户数据)
  • 产品
  • 购买
这些实体将是您开始使用的表。适当地添加关系

识别模式中的实体(希望)可以防止表向外扩展。您不希望每次添加产品时都必须修改整个模式。同样,您也不希望每次都添加一个新表

一旦你确定了这些,就开始把它们放进去。通常建议使用第三种标准格式。您可能会发现,正如您在模式中所指出的那样,购买实体下有许多冗余数据,将其分离到另一个表中会使模式更易于维护


这将消除表中的冗余数据,这些数据以后可能会失去同步,并有助于确定某些数据的位置。

您好,谢谢您的回答。我试图改进我的模式,你怎么看?这看起来更易于维护。你可能会发现你根本不需要用户数据。谢谢你的帮助,但是我有另一个问题,我从我原来的帖子中删掉了。假设我想记录所有订单、订单支付总额和平台,我想在网页上显示这些信息。我是否会在每次购买完成时创建另一个表“stats”并写入该表,还是最好在每次加载页面时统计()平台X的订单数量,统计()平台Y的订单数量?我认为在每个订单的统计表中,平台X的+1可能更好。Thanks我想说,每次完成一行后,最好在订单表中添加一行,并使用count()来确定有多少行。如果使用增量跟踪,则计数可能会不同步。例如,如果两个订单同时发生,或者在处理过程中发生了错误(这个问题可以通过事务解决,我对此不太了解)。您在该图表中使用了什么数据库设计软件?这就是我用过的。很好,谢谢你。看起来很棒!