Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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_Sql_Schema - Fatal编程技术网

Mysql 创建数据库模式以存储购买价格

Mysql 创建数据库模式以存储购买价格,mysql,sql,schema,Mysql,Sql,Schema,我有一个我正在工作的网站,我需要跟踪某人在结账时支付的价格 产品价格可以在我无法控制的任何时候进行调整 最初,我对它进行了设置,这样我就不会删除价格,而只是使用禁用的价格动态计算价格,但出于一些原因,我对其进行了更改。(主要是因为开销,但也因为我添加了一个新功能,这意味着计算价格的方法并不理想) 网站的主要目标是能够收取销售佣金,所以现在我有一套发票表来记录这些数据,但我意识到它的设置方式有点混乱 我想我应该移动数据,使它处于这样的情况 现在是这样的 [产品]-[订单产品]-[订单] 我将其更改

我有一个我正在工作的网站,我需要跟踪某人在结账时支付的价格

产品价格可以在我无法控制的任何时候进行调整

最初,我对它进行了设置,这样我就不会删除价格,而只是使用禁用的价格动态计算价格,但出于一些原因,我对其进行了更改。(主要是因为开销,但也因为我添加了一个新功能,这意味着计算价格的方法并不理想)

网站的主要目标是能够收取销售佣金,所以现在我有一套发票表来记录这些数据,但我意识到它的设置方式有点混乱

我想我应该移动数据,使它处于这样的情况

现在是这样的 [产品]-[订单产品]-[订单]

我将其更改为添加另一个表,加入到[order\u products]-[order\u product\u prices]

我只是将其设置为订单产品也参考使用的价格,但网站可以销售跨多天活动的门票,并且这些活动的每一天都是单独售票的,因此,虽然产品是[活动一天],但其定价类似于[活动一天1],[活动一天2],[活动一天3],其中每一天都是单独定价的


是否有更理想的方法来设置此设置,或者我添加新表的想法是设置此设置以满足我需要的最佳方法?

如果我没有弄错,您的价格仅在特定时间内有效

所以需要一个表来存储这些信息。在这种情况下,我建议使用如下表格:

product_id   price  valid_from  valid_to    
1            14.99  2013-09-07  2013-09-08  
1            16.99  2013-09-09  2013-09-10  
1            17.99  2013-09-11  2013-09-12  
因此,现在您可以使用以下工具查询当前价格:

SELECT PRICE
  FROM PRICES
 WHERE PRODUCT_ID = %yourproduct%
   AND %current_date% BETWEEN VALID_FROM AND VALID_TO  

对于发票,我会将支付的价格与发票分开存储。这使得发票数据的备份更加容易,IRS等的访问也更加轻松。

我的工作很好,我可以根据需要的特定时间调出适当的费率。问题是当交易发生时,我需要存储客户支付的价格,困难的部分是因为他们可以为跨越多天的活动购买门票。每天都应该有自己的票价,我不能只存储总价格(因为业务逻辑的原因),可能会为产品创建某种层次结构。以一种方式创建产品,即在给定的时间范围内,产品具有特定的(可确定的)价格。然后创建由多个元素产品组成的产品。但这不是真正的编程问题,这只是设计。您提到了无法存储总价的业务逻辑原因。我不知道这些原因,因为我不知道你的事。但我觉得有点奇怪。我的意思是你希望在某个时候向客户展示完整的价格,对吗?那你为什么不接受这个价格呢?