2011-03-03 36 views
0

我读有关“实体属性值模型”,这有点让我想起了你在数据仓库使用星型模式的。差异属性值模型和数据仓库

的表具有所有的事实(即使你搭配苹果,香蕉种植​​业,重量,价格,颜色,类型,名称如日期)和一群拿着细节表(如infected_with _banana_virus_type,apple_specific_acid_level)

我在这两个方面都这样做,所以我看不出在这些词的差异?

请赐教。 CHEERS

回答

4

所有接近你有实体,属性和值。一切都从逻辑上降低到这个程度由于一切有实体,属性和值,你总是可以声称一切都是一样的。从这个角度来看,所有的数据结构都是相同的。

请画一个星型模式图。有一个事实(比如说网站GET请求)和一些维度,如时间,IP地址,请求的资源路径和会话用户。

其实请画实际的图。不要读字,看五张桌子的图片。

绘制的图片后,绘制一个EAV表。

实际绘制与实体,属性和值列中的图片。不要读这些字。看一张桌子的照片。

好吗?

现在写下两张图片之间的所有差异。表的数量。列数。每列的数据类型。所有的差异。

我们没有完成。

写SQL查询来算度日星期请求使用星型模式给定用户。其实写SQL。这是一个三表连接。使用GROUP BY和WHERE

尝试并编写一个SQL查询以计算EAV表的星期几GET请求。

好吗?

现在写下来两个查询之间的区别。例如,SQL的复杂性。 SQL的性能。编写SQL所需的时间。

现在你知道了区别。

+0

+1我不知道任何差异,但这是一个很好的答案。 – fancyPants

+0

+100谢谢。好吧,我做了你所说的,如果我试着保持主要的EAV表格最小,我看到很多不同。但是,只要将一些常规属性放入EAV主表中,它就变得非常像星星一样。 –

+0

“EAV主表中的一般属性”?那是什么意思? EAV表中只能有三个属性:实体名称,属性名称和值。你在说什么? –