什么是码表,什么是维度表?
Posted drjava
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是码表,什么是维度表?相关的知识,希望对你有一定的参考价值。
整理业务库的库表字段和字段含义的时候,遇到了码表的概念,码表是什么,和维度表又是什么关系呢?
首先,码表没有明确的定义。
百度搜索码表,可以看到和数据处理相关的解释是:码表是 编码表(或代码表)的简称。
- 编码表:
是一种代码说明表格。
用来帮助用户明确无解释数据和字符 代码的含义。
例如:性别码表的值为男和女。类似于数据字典。
以性别代码表为例:
sex | value |
1 | 男 |
2 | 女 |
我想获得一个性别为男的值只需要设置sex.id=‘1‘就可以了。
以上就是关于码表的介绍。
我们不禁想到这和数据仓库的维度表定义类似。
- 维度表
简单的把维度表理解为对某类事务粒度的抽离及细化。
维度表中的取值,可以通过group by取出。
- 从另一个角度去区分事实表和维度表,
存放业务数据的是事实表。
从事实表中抽象提取出的和业务无关的表就是维度表。
数据仓库最常见的维度表是时间维度表
- 维度表的特点:
是抽象提取出的、和业务无关、很少变化的表。
- 那么维度表的作用,也不难总结:
可以非常有效的减少事实表的占用空间。
占用空间减小,在分析数据时,做表的扫描,效率也会大大提升。
对事实表中数据的取值做了规范。方便统计和查询。
- 维度表的管理
一般,某个字段可以抽象出有限个数的取值,都可以建立维度表。常见的维度有时间,地点,职业等等。
维度表在数据仓库中应该有单独的一层:dim 层(dimension)。
这里是我总结的一些概念,便于大家理解,如果想要深入研究,
可以参考下面的链接:
维度表的建设:
https://blog.net/selfsojourner/article/details/80478389
https://www.jianshu.com/p/292de1ae3e02?from=timeline&isappinstalled=0
时间维度表:
https://www.cnblogs.com/wuhuacong/archive/2010/05/19/1738199.html
https://wenku.baidu.com/view/0ef540155acfa1c7ab00cc20.html
援引一段总结:
以上是关于什么是码表,什么是维度表?的主要内容,如果未能解决你的问题,请参考以下文章