我正在建立一个电子商务网站,并希望在有限的时间内为某些商品提供折扣。
我的产品表(MySQL)如下所示:
Product
- productId
- Name
- Weight
- Price (price as on the cover of the item)
我应该再做一张交易表吗:
Deals
- dealID
- productID (Foreign Key)
- discount (fractional value: percentage)
- description
对于检索项目:
- q1:查找products中productID=deals表中所有productID的所有产品
- q2:使用交易表中的折扣更新价格
- q3:退回所有产品
有一个更好的方法吗 ?另外,如果交易仅在有限时间内存在,我该如何处理?
编辑:
我想显示我们为每种产品提供多少折扣。因此,我需要每个产品有两个值:原始价格和给定持续时间内的折扣价格。
我发布了 crontab 提出的解决方案的后续内容here https://stackoverflow.com/q/8578795/280924
您可以考虑添加开始时间戳和结束时间戳到您的Deals
桌子。这样,您可以检查以确保当前日期位于交易的开始日期和结束日期之间。
Your Deals
表并不真正需要dealID
- 它可以用键控productID
以及折扣的开始日期。另外,根据给定商品的价格可能有多高,请记住让您的discount
字段足够精确(例如DECIMAL 12,8
).
如果是我的话,我其实会留下价格off of the Product
表并创建一个ProductPricing
表而不是创建一个Deals
桌子。那ProductPricing
表将包括productID
和一个开始时间戳作为关键字段,然后还有一个结束时间戳来指示价格何时发生变化。当然,还有商品的价格。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)