Mysql 创建数据库模式以存储购买价格
我有一个我正在工作的网站,我需要跟踪某人在结账时支付的价格 产品价格可以在我无法控制的任何时候进行调整 最初,我对它进行了设置,这样我就不会删除价格,而只是使用禁用的价格动态计算价格,但出于一些原因,我对其进行了更改。(主要是因为开销,但也因为我添加了一个新功能,这意味着计算价格的方法并不理想) 网站的主要目标是能够收取销售佣金,所以现在我有一套发票表来记录这些数据,但我意识到它的设置方式有点混乱 我想我应该移动数据,使它处于这样的情况 现在是这样的 [产品]-[订单产品]-[订单] 我将其更改为添加另一个表,加入到[order\u products]-[order\u product\u prices] 我只是将其设置为订单产品也参考使用的价格,但网站可以销售跨多天活动的门票,并且这些活动的每一天都是单独售票的,因此,虽然产品是[活动一天],但其定价类似于[活动一天1],[活动一天2],[活动一天3],其中每一天都是单独定价的Mysql 创建数据库模式以存储购买价格,mysql,sql,schema,Mysql,Sql,Schema,我有一个我正在工作的网站,我需要跟踪某人在结账时支付的价格 产品价格可以在我无法控制的任何时候进行调整 最初,我对它进行了设置,这样我就不会删除价格,而只是使用禁用的价格动态计算价格,但出于一些原因,我对其进行了更改。(主要是因为开销,但也因为我添加了一个新功能,这意味着计算价格的方法并不理想) 网站的主要目标是能够收取销售佣金,所以现在我有一套发票表来记录这些数据,但我意识到它的设置方式有点混乱 我想我应该移动数据,使它处于这样的情况 现在是这样的 [产品]-[订单产品]-[订单] 我将其更改
是否有更理想的方法来设置此设置,或者我添加新表的想法是设置此设置以满足我需要的最佳方法?如果我没有弄错,您的价格仅在特定时间内有效 所以需要一个表来存储这些信息。在这种情况下,我建议使用如下表格:
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等的访问也更加轻松。我的工作很好,我可以根据需要的特定时间调出适当的费率。问题是当交易发生时,我需要存储客户支付的价格,困难的部分是因为他们可以为跨越多天的活动购买门票。每天都应该有自己的票价,我不能只存储总价格(因为业务逻辑的原因),可能会为产品创建某种层次结构。以一种方式创建产品,即在给定的时间范围内,产品具有特定的(可确定的)价格。然后创建由多个元素产品组成的产品。但这不是真正的编程问题,这只是设计。您提到了无法存储总价的业务逻辑原因。我不知道这些原因,因为我不知道你的事。但我觉得有点奇怪。我的意思是你希望在某个时候向客户展示完整的价格,对吗?那你为什么不接受这个价格呢?