维度表是用于描述环境的。谁、什么、哪里、何时、如何、为什么等等。
列多,行少,多文本列。
维度属性用于查询约束、分组、报表标识等。
维度表中尽量使用文本描述。
数据仓库的好坏直接取决于维度属性的设置,DW/BI的分析能力直接取决于维度属性的质量和深度。
维度代理键:维度表的主键,不能采用操作型系统的自然键,避免出现不同业务系统的兼容性问题;
为什么用代理键?
- 解决操作型系统ID重用的问题
- 集成多个源系统
- 使用自增整数改进性能
- 特点的代理键可以用来记录不在操作型系统中的维度条件,如匿名用户等
- 支持维度属性变化跟踪
退化维度:除了主键没有其它内容;所以没有维度表,只在事实表中出现,但是是维度项;如零售中的POS事务号码,可以标识哪些事务是在一个事务中发生。
退化维度没有属性,但是维度值可以用来比较是否相同,这也是其意义所在。
维度属性中的空值最好用Unknow或者not applicable。
支架维度:被其它维度引用的维度称为支架维度;比如银行账户维度表中的开户日期字段引用日期维度表。 构成雪花模型