初学数据仓库-维度建模

来源:互联网 发布:套装软件 编辑:程序博客网 时间:2024/04/28 11:14

什么是维度建模:
维度建模是一种将数据结构化的逻辑设计方法,对业务用户来说很直观,能提供较快的查询性能,是最好的一种表现DW/BI的方法。IT机构、用户、顾问和厂商往往都趋向使用简单的维度结构来满足人们的基本需求
这里写图片描述
维度建模将客观世界划分为度量上下文
度量是由机构的业务过程和支持它们的业务源系统来捕捉的,常常以数值形式出现,我们把它们称作“事实”
事实由大量文本形式的上下文包围着,这些文本形式的上下文只有当事实被记录时才为真。这种上下文被直观地分割成多个独立的逻辑块,我们将其称作“
机构的每一个业务过程都可以用维度模型来描述,维度模型由一系列含有*数值型度量的事实表组成,而事实表中的数值型度量则被一系列带有文本形式上下文的维度表所环绕
维度建模的好处

可理解性
查询性能,大多数关系型数据库优化器都是为星型联接设计的,查询性能取决于对单个事实表的查询
每个维都是一个等效的事实表入口点,这种对称性使维度模型能够承受查询模式中的意外变化
对维度模型进行扩展比较容易,不影响旧的结果
###维度建模入门###
1.事实表
事实表一般都和业务过程度量事件相对应。几乎每一个事实都是数值型的,大多数有用的事实既是数值型的又是具有可加性的。并非所有的数值都存放在事实表中
事实表键
事实表是由一个多方键标识的,该多方键是由来自同一个业务过程中若干相交维度表的外键所组成的。多方键意味着事实表通常是多对多关系
事实表中的每个外键都必须和对应维度表中的唯一主键相匹配。
2.维度表
事实表仅由键和数据型度量所组成,具有健壮性和完整性的特点
维度表不具有健壮性和完整性,有大量的描述性字段,维度表的属性一般有两个主要用途:查询约束/过滤和标记查询结果集。
tips
维度属性列中的空值常常会使业务用户感到困惑,并且会使SQL查询语句的性能受到影响,我们一般使用描述性的字符串来代替空值,如“未知”“不合适”