2012-05-27 13 views
0

通常情况下,我可以简单地搜索谷歌有问题,找到答案,但我知道从字面上没有关于MySQL数据库的一个单一的东西,所以我开始从头开始。MySQL数据库创建/设计 - 不知道如何组织数据如果是这样的

我的问题是如何格式化/组织数据,我有,当它并不像电子表格那样简单。我认为它将被格式化的方式会导致数十万个单独的表格,这看起来不正确。这里是我拥有的数据,也许有人可以指出我如何在mySQL数据库中组织它,以便它不仅是有组织的,而且可以根据每个人的“数据点”:

我已经刮从网站的具体网址产品的评价,可以说,亚马逊的例子缘故。我需要按照他们留在亚马逊上的顺序保留评论。

为了保持这个简单,我会说我已经在亚马逊刮掉从三个不同的URL产品评论:

http://amazon.com/product/12345-x 
http://amazon.com/product/12345-y 
http://amazon.com/product/12345-z 
从各个这三个网址

所以,有3个不同的人对各个网址留下评论。它将因此,如何我还以为被存储在数据库中(这不可能是正确的)会是这样的:

  TABLE FOR PRODUCT 12345-X 
REVIEW NUMBER REVIEWER  THEIR REVIEW  NAME OF PRODUCT PRODUCT PRICE REVIEW LEFT ON 
1    username  great product some product  $399   monday 
2    username  crappy product          wednesday 
3    username  okay product          wednesday 


      TABLE FOR PRODUCT 12345-Y 
REVIEW NUMBER REVIEWER  THEIR REVIEW  NAME OF PRODUCT PRODUCT PRICE REVIEW LEFT ON ON 
1    username  great product some product  $399   monday 
2    username  crappy product          wednesday 
3    username  okay product          wednesday 


      TABLE FOR PRODUCT 12345-Z 
REVIEW NUMBER REVIEWER  THEIR REVIEW  NAME OF PRODUCT PRODUCT PRICE REVIEW LEFT ON ON 
1    username  great product some product  $399   monday 
2    username  crappy product          wednesday 
3    username  okay product          wednesday 

既然现在我已经得到了数据上千种产品,这显然会导致数千的表格,这不能成为组织事物的正确/最佳方式。

为了使事情变得更糟/比较复杂,有时同一种产品都有它的价格变化,所以它在两个不同的价格出售(实际上,许多不同的价格)。我还希望能够获得以多个价格出售的每个“相同产品”的“平均价格”,并且还能够显示每个产品基础上最常见的日常评论的整体情况& 。

所以你可以看到,我需要能够产生不仅对每一个产品的报道,但对每一个产品中的数据......这将导致更多的表,然后每个“列”。

有人可以点我在如何数据应在数据库中组织了正确的方向?

我很抱歉,如果我问的是太荒谬的回答,我甚至不知道如何组织这个数据库,甚至从哪里开始(什么短语键入到谷歌) 。

回答

2

如果我得到你的权利,你要存储threr diffent事情: 1产品 2条为每个产品 3如何rowted像名审查人员的数据...

因此,所有你需要的是其他表格。

TABLE FOR PRODUCT 
ProductID P_Price P_Name 
1   399  Name X 
2   299  Name y 
3   199  Name z 

TABLE FOR Review 
ReviewID ProductID Review   R_Date   UserID 
1   2   Review for y  1/1/2012   1 
2   1   Review for x  1/1/2010   2 
3   3   Review for z  4/4/2009   2 


Table for User 
UserID U_Name 
1   Peter 
2   Simon 

所以现在你可以如看到西蒙为X和Z写了一篇Rewiev,并且每个产品都有一个评论。 一般来说,如果你必须在运行时创建一个表,你可以做一些真正的工作。 Tabes总是一个修复结构,只有在您决定进行一些重大更改时才会更改,例如为每个用户添加一个密码。 当你添加新的评论这样的新信息时,你总是只添加一个或多个entrys。

我应该得到一本关于MySQL(或者你曾经使用过的)的书或者长篇教程,其中hopfuly是关于数据组织的一个大章节。

我希望我能帮助你。

+0

谢谢,我感谢帮助。你所说的确实有帮助,而且我认为你是对的,我需要阅读教程。看起来对我来说最好的事情就是从头开始。 – Learning