首页 > 代码库 > 数据仓库展示模型 - 维度表与事实表的理解
数据仓库展示模型 - 维度表与事实表的理解
一、事实表
特点:
1. 由一组表示维度的键和一组数字形式的度量值构成。
2. 维度外键通常是一些数字或字符代码,因为通常事实表会包含极大的数据量,如果直接使用维度描述的话,会对存储性能照成影响。
3. 每个度量值都是单独的一列,创建报表时(例如BIEE中数据透视表),度量值也可以作为维度来使用。
单位ID(维度1) | 学科码(维度2) | 年度(维度3) | 在编教工数(度量1) | 在编教学科研人数(度量2) |
1 | 0801 | 2013 | 101 | 89 |
2 | 0802 | 2013 | 102 | 77 |
3 | 0701 | 2013 | 90 | 34 |
4 | 0705 | 2014 | 140 | 98 |
二、维度表
通常,事实表中的每个维度都有一个维度表。
单位ID(维度主键) | 单位代码(键属性的名称) | 单位名称(属性1) |
1 | 125000 | 网络中心 |
2 | 126000 | 人事处 |
3 | 130020 | 教务处 |
4 | 264000 |
1. 键属性的名称可能是唯一的——因为每个键只有一个名称,但其他属性不需要是唯一的,本质上,每个属性都对应于维度表中的一个列。
2. 维度属性可以是可分组的,也可以是不可分组的。
某些可分组的属性可以组合起来创建一个自然层次结构(natural hierarchy)。例如假设Product有Category和Subcategory属性,在多数情况下,单个产品只会属于单个 Subcategory,并且单个Subcategory只会属于单个Category。这将形成一个自然层次结构。在报表中,可能会显示 Categories,然后允许用户从某个Category钻取到Subcategories,以及最终钻取到Products。
层次结构——或者说钻取路径——不一定要是自然的(例如,每个低层次的成员会决定下一个高层次的成员)。例如,您可能会创建一个按照Color分组产品的 报表,但允许用户根据每个Color钻取到每个不同的Size。因为报表的钻取能力,Color和Size形成了一个层次结构,但是根据Size却没有任 何信息可以用来断定产品的Color将是什么。这是一个层次结构,但不是一个自然层次结构——但也不是说它是个非自然层次结构。Color和Size形成 一个层次结构并没有什么不对,它只是这样一个简单的事实:相同的Size可以出现在多个Color中。
数据仓库展示模型 - 维度表与事实表的理解