【发布时间】:2012-01-24 14:44:22
【问题描述】:
我正在建立一个电子商务网站,并希望在有限的时间内为某些商品提供折扣。我想显示我们为每种产品提供多少折扣。因此,我需要每个产品的两个值,原价和给定持续时间的折扣价。
架构:
-
产品
- 产品标识
- 姓名
-
产品定价
- productId (FK)
- startDateTimeStamp
- endDateTimeStamp
- 价格
- 仅当我们使用方法 A 时才适用原价(稍后提供)
数据:
Product:
1 | Apple
2 | Banana
T1:2011 年 12 月 21 日:目前没有交易
ProductPricing
1 | Dec 20, 2011, 00:00 | Jan 1, 2038, 00:00 | 10$ | 10$
2 | Dec 20, 2011, 00:00 | Jan 1, 2038, 00:00 | 20$ | 20$
T2:2011 年 12 月 24 日:成交!从 12 月 25 日 14:00 到 12 月 26 日 14:00 对苹果申请 25% 的折扣
方法 A。 - 查询更新给定持续时间的苹果价格
ProductPricing
1 | Dec 25, 2011, 14:00 | Dec 26, 2011, 14:00 | 7.5$| 10$
2 | Dec 20, 2011, 00:00 | Dec 25, 2038, 00:00 | 20$ | 20$
方法 B。 - 查询在给定的持续时间内添加另一条带有苹果价格的记录
ProductPricing
1 | Dec 20, 2011, 00:00 | Jan 1, 2038, 00:00 | 10$ | 10$
2 | Dec 20, 2011, 00:00 | Dec 25, 2038, 00:00 | 20$ | 20$
1 | Dec 25, 2011, 14:00 | Dec 26, 2011, 14:00 | 7.5$| 10$
T3:2011 年 12 月 27 日 - 选项
方法 A。 这个时候deal已经过期了,要不要用触发器重置endTimeStamp?
方法 B。 我应该删除交易刚刚过期的产品的最新记录吗?
【问题讨论】:
标签: mysql database-design entity-relationship