知识库 : 维度表基本概念

Edit Document

分享 内容 有如下几点:

  1. 如何理解维度表?
  2. 维度表有哪些特点?
  3. 为什么要建立维度表?
  4. 如何设计维度表?
  5. 常见的设计规范有哪些?

一、     如何理解维度表?

百度搜索维度表,会有数据仓库,维度表,事实表,星型模型等关键词一并涌出来。其实,在建立数据仓库时,需要建立一种星型模型,主要是由维度表和事实表构成。猜猜下图哪些表是维度表:

二、     维度表有哪些特点?

如上图所示,除了中间的销售订单是事实表之外,周边环绕的都是维度表,这就是星型模型。特点如下:

  1. 一般是有主键。
  2. 某类物体的单一属性,如时间属性,地区属性等。
  3. 数据一般比较少。
  4. 数据会 有冗余。 而维度表的冗余可以使事实表节省很多空间。
  5. 数据随着时间增长缓慢。

三、     为什么要建立维度表?

主要是为了各种分析而建立的相对稳定的粒度较细的表。

四、     如何设计维度表?

项目实施时,要分析销售订单,那么包含销售订单号,销售人员,销售商品,销售时间,销售区域等这些信息,实际就是一事实表。而销售人员,销售商品,时间,区域等这些信息相对稳定,粒度单一,就可以创建维度表。而将 维度表和事实表关联起来,就是一个星型模型。

这里是简单设计,没有涉及到复杂情况 。 根据业务不同而有不同。 下面 简单列出了一些需要考虑的复杂情况:

         维度表 的模型设计 , 是否要 雪花 模型。

         粒度到 多细的 设计。

         共用 标准维度 和 业务领域独有维度的设计 。

         是否考虑 性能,将 一些 聚集属性作为维度 表 的字段 。

         维度表 的冗余 度 设计, 高冗余 ,还是低冗余?

         等等。

如能游刃有余 掌握以上情况,那么 你 已经称得上 半个 建模专家了。

五、     常见的设计规范有哪些?

  1. 维度表的关键字一般使用业务主键定义。
  2. 一般命名 “_DIM” 作为后缀。
  3. 主键 ID 的字段命名一般会带上后缀 “_ID” 。
  4. ID 值一般由数据库序列( SEQUENCE )产生。
  5. 维度表模型设计一般使用平面表,少量使用雪花型。

六、     待续 内容 : 缓慢维变化。

 

Attachments:

理解维度表一二三.docx (application/vnd.openxmlformats-officedocument.wordprocessingml.document)