维度表和事实表的含义是什么?

2020/09/28 06:36
维度表和事实表,在构建企业级数据仓库时经常能见到。维度表被看成是用户用来分析一个事实的窗口,它里面的数据应该是对事实的各个方面描述,简而言之就是基础表,如:时间维度表,它里面的数据就是一些日,周,月,季,年,日期等数据,维度表只能是事实表的一个分析角度。

事实表则是通过各种维度和一些指标值得组合来确定一个事实的,简而言之就是交易表,如:通过时间维度,地域组织维度,指标值可以去确定在某时某地的一些指标值怎么样的事实。事实表的每一条数据都是几条维度表的数据和指标值交汇而得到的。

这两种表都是围绕主题来进行设计,事实表是用来存储主题的主干内容的。以日常的工作量为例,工作量可能具有如下属性:工作日期,人员,上班时长,加班时长,工作性质,是否外勤,工作内容,审核人。

那么什么才是主干内容?很容易看出上班时长,加班时长是主干,也就是工作量主题的基本内容,那么工作日期,人员,工作性质,是否外勤,工作内容是否为主干信息呢?

认真分析特征会发现,日期,人员,性质,是否外勤都是可以被分类的,例如日期有年-月-日的层次,人员也有上下级关系,外勤和正常上班也是两类上班考勤记录,而上班时长和加班时长则不具有此类意义。所以一般把能够分类的属性单独列出来,成为维度表,在事实表中维护事实与维度的引用关系。

维度表的冗余很大,主要是因为相对于事实表而言,维度表一般都不大,而维度表的冗余可以使事实表节省很多空间。事实表一般都很大,如果以普通方式查询的话,得到结果一般发的时间都不是我们可以接受的。所以它一般要进行一些特殊处理。另外,事实表一般是没有主键的,数据的质量完全由业务系统来把握。

总而言之,事实表就是你要关注的内容,维表就是你观察该事务的角度,是从哪个角度去观察这个内容的。例如,某地区商品的销量,是从地区这个角度观察商品销量的。事实表就是销量表,维表就是地区表。

免费直播

    精选课程 更多

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司