我想写一个简单的主页来跟踪各种在线商店的价格。我有一个刮刀,可以读取特定产品的价格,我计划每天运行一次刮刀,我想跟踪一些产品。
现在我需要存储这些信息,而且我不确定一个好的方法会是什么样子。我想我应该为我跟踪的每个产品创建一个表,其中包含两行:date
| price
。
我仍然有一些悬而未决的问题:这样一张桌子的名字应该是什么?产品名称?如果产品名称包含空格会怎样?或者也许是导致产品的URL部分?这似乎有点难以理解。或者我应该将表名称命名为id(增加数字)并保留包含行的单独表格products
:product_name
,product_url
,{{1} }。
这似乎是一个好主意,因为我可以稍后在产品中添加更多信息(例如说明)。
欢迎任何有关此主题的帮助,因为我以前从未接触过数据库。我的考虑是否合理。还可能出现其他什么问题?
编辑:我无法将完整的产品数据存储在一个表格中,因为每个产品在不同的时间点都包含可变数量的价格点。
答案 0 :(得分:2)
我建议对RDBMS和数据库设计进行一些研究。这是一个很好的资源:
https://www.calebcurry.com/blogs/database-design/what-is-a-relational-database
在该系列之后,试试他的下一级视频:
https://www.youtube.com/watch?v=e7Pr1VgPK4w
在您完成创建数据库的任务之前,必须进行一些基线数据库设计。
答案 1 :(得分:1)
如果我理解正确,您需要3个表...这是一个基本的关系数据库。
1) a product table
2) a pricing table
3) a price point type table
您的产品表将包含产品IE product_id
product_name
等等的基础知识等...
您的产品定价表将包含您要存储的价格 - 它还包含一个与价格点相关的字段类型
您的价格点类型表将包含不同的类型
例如,表一将如下所示:
+----------------------------------------------------------+
| Products |
+----------------------------------------------------------+
| product_id | product_name | product_url |
+----------------------------------------------------------+
| 101 | Baby Food | www.example.com |
| 102 | Green Tomatoes | www.widget.com |
+----------------------------------------------------------+
然后你有一个价格点类型表
+-------------------------------------------------------+
| price_point_types |
+-------------------------------------------------------+
| price_point_id | type | description |
+-------------------------------------------------------+
| 1 | small | Small price point |
| 2 | medium | Medium Point |
| 3 | large | Large POint |
+-------------------------------------------------------+
你有定价表:
+------------------------------------------------------------------+
| pricing |
+------------------------------------------------------------------+
| id | price_point_id | product_id | price |
+------------------------------------------------------------------|
| 1 | 1 | 101 | 5.00 |
| 2 | 2 | 101 | 10.00 |
| 3 | 3 | 101 | 15.00 |
| 4 | 1 | 102 | 6.00 |
| 5 | 2 | 102 | 9.00 |
| 6 | 3 | 102 | 12.00 |
+------------------------------------------------------------------+
现在,您可以看到产品Baby Food
我们有3个价格点small
,medium
和large
与5.00
,{{的价格相关联分别为1}}和10.00
。产品15.00
也是如此。通过这种方式,您可以拥有无限的价格点类型和每个产品无限的价格点......有意义吗?