本博客用于保存网上查找到资料,所有文章均为转载,特此声明,就不一一标注出处了。

数据库维度表和事实表概述

上一篇 / 下一篇  2011-05-11 15:20:43 / 个人分类:业务

转自博客园:http://www.cnblogs.com/Adon/archive/2008/04/02/1134802.html

以前一直对维度表, 事实表, 数据分析, BI等概念等有一些模糊. 这几天的学习终于让这些有了一些眉目了:

维度表示你要对数据进行分析时所的一个量, 比如你要分析产品销售情况, 你可以选择按类别来进行分析,或按区域来分析. 这样的按..分析就构成一个维度。前面的示例就可以有两个维度:类型和区域。另外每个维度还可以有子维度(称为属性),例如类别可以有子类型产品名等属性。下面是两个常见的维度表结构:

产品维度表:Prod_id, Product_Name, Category, Color, Size, Price
时间维度表:TimeKey, Season, Year, Month, Date

而事实表是数据聚合后依据某个维度生成的结果表。它的结构示例如下:

销售事实表:Prod_id(引用产品维度表), TimeKey(引用时间维度表), SalesAmount(销售总量,以货币计), Unit(销售量)

上面的这些表就是存在于数据仓库中的。从这里可以看出它有几个特点:

1. 维度表的冗余很大,主要是因为维度一般不大(相对于事实表来说的),而维度表的冗余可以使事实表节省很多空间。
2. 事实表一般都很大,如果以普通方式查询的话,得到结果一般发的时间都不是我们可以接受的。所以它一般要进行一些特殊处理。如SQL Server 2005就会对事实表进行如预生成处理等。
3. 维度表的主键一般都取整型值的标志列类型,这样也是为了节省事实表的存储空间。


延伸:事实表和维度表的设计  http://www.cnblogs.com/47613593/archive/2009/02/20/1394581.html



TAG:

 

评分:0

我来说两句

日历

« 2024-04-19  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 4675
  • 日志数: 10
  • 建立时间: 2010-09-14
  • 更新时间: 2011-05-11

RSS订阅

Open Toolbar