维度表和事实表

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

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

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

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

上面的这些表就是存在于数据仓库中的。从这里能够看出它有几个特色:spa

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


   一个典型的例子是,把逻辑业务比做一个立方体,产品维、时间维、地点维分别做为不一样的坐标轴,而坐标轴的交点就是一个具体的事实。也就是说事实表是多个维度表的一个交点。而维度表是分析事实的一个窗口。  事件

      首先介绍下数据库结构中的星型结构,该结构在位于结构中心的单个事实数据表中维护数据,其它维度数据存储在维度表中。每一个维度表与事实数据表直接相关,且一般经过一个键联接到事实数据表中。星型架构是数据仓库比较流向的一种架构。get

       事实表是数据仓库结构中的中央表,它包含联系事实与维度表的数字度量值和键。事实数据表包含描述业务(例如产品销售)内特定事件的数据。产品

       维度表是维度属性的集合。是分析问题的一个窗口。是人们观察数据的特定角度,是考虑问题时的一类属性,属性的集合构成一个维。it


相关文章
相关标签/搜索