Php 商店商品价格表结构
假设我有15家店铺,每家店铺有4种产品和定制价格: 每家商店并没有全部4种产品,但只能有2种、3种、4种甚至1种。 价格相似,但根据每家商店定制。所有商店的价格每2-3周变化一次,通常同时变化,但并不总是如此。 数据库必须包含价格的历史记录。 这是我的想法,但我确信它在产品部分中缺少:Php 商店商品价格表结构,php,mysql,database,phpmyadmin,Php,Mysql,Database,Phpmyadmin,假设我有15家店铺,每家店铺有4种产品和定制价格: 每家商店并没有全部4种产品,但只能有2种、3种、4种甚至1种。 价格相似,但根据每家商店定制。所有商店的价格每2-3周变化一次,通常同时变化,但并不总是如此。 数据库必须包含价格的历史记录。 这是我的想法,但我确信它在产品部分中缺少: TABLE1 id | shop_name | product_1 | product_2 | product_3 | product_4 1 shop1 name2 name4
TABLE1
id | shop_name | product_1 | product_2 | product_3 | product_4
1 shop1 name2 name4 NULL NULL
2 shop2 name1 name3 name4 NULL
TABLE2
id | shop_name | active_from | active_to | name1 | name2 | name3 | name4
1 shop1 2014-01-05 2014-02-07 NULL price NULL price
2 shop2 2014-01-07 2014-02-05 price NULL price price
3 shop2 2014-02-06 NULL price NULL price price
4 shop1 2014-02-08 NULL NULL price NULL price
为了获得当前价格的数据,我可以选择active_To为NULL的行,并连接表以连接表1和表2
要创建历史图表或表格,我将使用active_from和active_To方法
但我仅限于4种产品,如果它们在未来增加会怎么样?我会尝试以下方法: 一个表格,其中包含每家商店的每种产品及其价格
shop_id | product_id | price
1 | 1 | 10.23
1 | 2 | 13.51
1 | 3 | 324.12
2 | 1 | 13.20
2 | 3 | 9.80
在本例中,您可以看到商店1销售产品1、2和3,而商店2仅销售产品1和3。这是一个简单的方法。也许,最好使用一个表来存储在哪个商店销售的产品,使用另一个表来存储价格,因为它们是不同的概念
然后是另一个表,用于存储对价格所做的所有更改。使用此表,您可以追溯所有的价格历史记录
shop_id | product_id | date
1 | 1 | 10.23
1 | 1 | 10.08
... | ... | ...
无论你采取什么解决方案,除非你有奇怪的理由,否则不要为每个产品创建一个专栏