有一个产品 A,他的价格可能每天都不一样,现在我需要预设置未来一个月这个产品每天的定价。我现在在页面上展示一个日历,然后前端允许用户双击日期进行价格填写并保存。 我的问题是:数据库该怎么设计,才能比较好的存储这些价格信息?
目前我是将设置了价格的日期存入数据库
----------------------------------
product_id | sale_date | price
----------------------------------
10000 | 2017-11-4 | 100.00
10001 | 2017-11-5 | 102.00
----------------------------------
查询产品价格时先从这张表查,如果查不到,就去查在产品表里面设置的价格。
请问有什么更好的数据库设计吗?
1
RadishWind 2017-11-05 20:12:27 +08:00
问题描述的不是很清楚,有没有具体的需求?什么样的用户?单个还是多用户?又是什么数量级的产品价格?
|
2
mooncakejs 2017-11-05 20:19:11 +08:00
存这么存肯定没问题,读的时候:
直接在 sku 表里保存价格, 如果每天价格不同,定时更新。 |
3
thisisgpy OP @RadishWind 现在需求就是存在商品 A,在他被销售期间,每天的价格都不一样,我现在应该怎么设计数据来存储每天的价格信息?页面会显示当日的销售价格。所谓的用户,就是网站管理员,他可以来设置产品每天的销售价格,可以一次性设置未来 N 多天的价格。
|
4
RadishWind 2017-11-05 20:28:44 +08:00
如果商品不多的话,建议你现在这样就行,商品表里面有个默认的价格,然后后台如果设置了某一天的,就将其单独显示出来
如果多的话,反范式也是可以的,直接用一张表,用某个特定的时间(如 1970-00-00 )来标志默认值,然后哪一天有就查哪一天的,这样的好处是可以直接用一个 sql 语句写出来 select * from product where date = "1970-00-00" and 1 = 1 and date = "2017-11-5"....这样 |
5
q397064399 2017-11-05 20:28:48 +08:00
@thisisgpy #3 一张商品表 一张价格表 价格表外键关联到商品表 就好了
|
6
iscraft 2017-11-05 21:46:44 +08:00
商品 id|年月|1|~|31
|
7
skyFuture 2017-11-06 08:54:43 +08:00
每天定时去跟新价格即可呀~~ 1 张表保持预价格,另外库存表表示正售卖的价格即可
|