Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 商店商品价格表结构_Php_Mysql_Database_Phpmyadmin - Fatal编程技术网

Php 商店商品价格表结构

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

假设我有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       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
    ... |        ... |  ...
无论你采取什么解决方案,除非你有奇怪的理由,否则不要为每个产品创建一个专栏