这是我参与2022首次更文挑战的第11天,活动详情查看:2022首次更文挑战。
上一篇讲了维度表技术的上半部分,这里继续下半部分。
先来回顾一下上篇的几个重点,维度表技术的退化维度、下钻、自然键、持久键和超自然键、维度代理键等等。
1、维度技术中需要的非规范化扁平维度管理技术,即将维度行不同属性放置在一个层次中,模型中如果采用非规范化的多对一固定深度层次,必须要有必要的实现目标,因为这样更符合严格要求。快速的实现简化。这里互相矛盾的就是维度设计不需要规范要求,而常年的数据库设计都是应运于这样的规范。
2、维度中的多层次。多数维度包含不止一个层次,这个层次也可以通俗点说就是划分归类。比如经常被用到的日期维度,如果是结算周期层次,那么就是从天到周进行划分,也可以是周到月的划分。在或者是地域划分,如果是地址维度就包含多个地理层次如省市区、省市等等。在同一维度中可以存在不同层次,就形成了多样的数据分析结果。
3、维度中需要存在一些不太能理解含义的词汇,抑或是业务指标,这些存在歧义不易理解的就是放置在有文档属性的标识中。
4、因为在维度表中是尽量避免使用一种值,那就是空值,这不代表维度表中不会存在空值属性。因为不允许所以有不同的处理方式,不同的数据库系统使用不同的处理和约束机制。比如常常是将维度行全部填充完毕,但是还是存在事实行的属性未全部填充到维度行中,从而产生了空的值。
5、还有一个特别的维度,被事实表多次引用,每次引用连接都是一个角色,这样存在角色差异的维度称为扮演。往往一个事实表是不会只有一个日期的,每个日期都表示不同的维度,比如订单上面的创建时间、结算时间、支付时间等等,透过这个日期都有不同的维度视图,拥有不同含义。这就是角色赋予的维度视图含义。