数据仓库维度建模
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、基础术语
维度表(Dimension Table)
• 维度表可以看作是用户来分析数据的窗口,维度表中包 含事实数据表中事实记录的特性,有些特性提供描述性 信息,有些特性指定如何汇总事实数据表数据,以便为 分析者提供有用的信息,维度表包含帮助汇总数据的特 性的层次结构。 • 每一个维度表利用维度关键字通过事实表中的外键约束 于事实表中的某一行 • 维度表示的是事实信息的属性
• 属性通常指文本字段,例如产品描述。 • 维度是类似于文本形式的属性组合,固定的数值 型属性应放在维表中。
– 例如,零售数据仓库中,至少应有一个产品维度,一 个商店维度,一个客户维,一个时间维,一个促销维 。
3.星形模型设计
(2) 事实表的设计方法。 • 事实表是数据仓库中最大的表,在设计时,一定 注意使事实表尽可能的小,因为过大的事实表在 表的处理、备份和恢复、用户查询等方面要用较 长的时间。具体方法主要有:
3.星形模型设计
例:零售业营销分析的星型模型图。
时间维 时间键 星期几 月份 年份 零售营销 时间键 产品键 商店键 客户键 促销键 销售额 成本金额 产品维 产品键 描述 品牌 类别 包装类型 尺寸 客户维 客户键 客户姓名 购买介绍 信用概况 统计类型 地址
商品维 商店键 商店标识号 商店名称 地址 地区 楼层类型
– 减少列的数量; – 降低每列的大小; – 把历史数据存档;
日期关键字 产品关键字 商场关键字 促销关键字 POS 事务编号 销售量销售额 成本金额 毛利润金额
• 例如,零售营销事实表设计如下:
3.星形模型设计
(3) 维表的设计。 • 维表的属性必须具有以下特征:
– – – – 可用文字描述; 离散值; 有规定的约束; 在分析时可提供行标题。
• 使用最低粒度的缺点
– 存储和维护的代价 – 实际处理中,我们构建汇总事实表来支持汇总数据查询
2、维度的两种模型
• 星形模型(Star Schema) • 雪花模型(Snowflake Schema)
星形模型(Star Schema)
• 事实被维度所包围,且维度没有被新的表连接
雪花模型(Snowflake Schema)
• 事实表被多个维表或一个或多个层次所包围
3.星形模型设计
(1) 正确区分事实、属性和维度。 • 维度模型需要对事实和属性进行区分,业务层的 很多事实都是数值型的,特别是该数值是浮点数 时,他很可能是一个事实,而不是属性。
– 例如“标准价格”,好像是产品维度的一个属性,似 乎是事先一致的常量,但每年对标准价格进行一、两 次调整,因此应该设计成事实。
4.基本雪花模型设计
• 在该模型中,将地理层次国家、区域和分区域嵌 入到销售员维度,这样,公司的管理者想按照国 家、区域、分区域和分区域内的销售员的层次关 系来查看公司的销售情况。
4.基本雪花模型设计
时间维表 交易日期 日 周 月 季 年 顾客维表 顾客编号 顾客名称 顾客备注 门店维表 门店编号 地区编号 门店名称 商品维表 商品编号 细分编号 商品名称 颜色 商品细分表 细分编号 小分类编号 细分名称
– 用户容易理解 – 优化浏览 • 在数据库模式中,表与表连接的目的在于寻找到需 要的数据 • 如果连接的路径复杂,那么在数据库中浏览数据将 是缓慢而艰难的 • 如果连接路径简单、直接,则浏览数据会更快 • 星型模型的优势之一在于它优化对数据库的浏览
5.星形模型的优势
– 最适于查询处理 • 星型模型是一种以查询为中心的结构 • 简单、清洗的连接路径以及星星模型本身的结构使 得查询在维度表和事实表之间顺利、流畅、高效 – 星型连接和星型索引 • 星型连接是一种高速、并行、单独操作的多表的连 接,可显著的提高查询性能 • 星型索引是一种专门的索引(建立在事实表的一个 或多个外键上),提高维度表与事实表的连接速度
促销维 促销键 待定促销 属性
4Βιβλιοθήκη Baidu雪花模型设计
• 雪花模型是对星形模型的扩展,每一个维度都可 以向外连接多个详细类别表。 • 在这种模式中,维度表除了具有星形模型中维度 表的功能外,还连接对事实表进行详细描述的详 细类别表,详细类别表通过对事实表在有关维上 的详细描述达到了缩小事实表和提高查询效率的 目的。
商品小分类表 销售事实表 交易日期 商品编号 客户编号 门店编号 地区编号 销售数量 销售金额 累计数量 累计金额 其他事实数据 小分类编号 中分类编号 小分类名称
商品中分类表 中分类编号 大分类编号 中分类名称
地区维表 地区编号 地区名称 地区备注
商品大分类表 大分类编号 大分类名称 大分类备注
5.星形模型的优势
6.雪花模型的优势与劣势
– 优势: • 减少存储空间 – 冗余减少了 • 规范化的结构更容易更新和维护 – 非规范化的数据结构存在插入、删除、更新等异 常 – 劣势: • 模式复杂,用户不易理解 • 浏览内容复杂 • 额外的连接使得查询性能下降 – 表多了
谢谢!
1、基础术语
粒度(Grain)
粒度表示的是事实表中细节数据的详细程度 最低粒度 • 事实表的基本层次是所有相应维度自然的最低层次。
– 例:产品、日期、客户、销售员为4个维度,则:事实表一条记录中必须有 :单独的产品、特定的日期、特定的销售员和特定客户
• 使用最低粒度的好处
– 可以频繁容易的从操作型系统抽取数据 – 很多数据挖掘需要最低层次 – 便于向下钻取
数据仓库维度建模
目录
1.基础术语 2.维度建模中的两种模型 3.星形模型设计 4.雪花模型设计 5.星形模型的优势 6.雪花模型的优势与劣势
1、基础术语
事实表(Fact Table)
• 每个数据仓库都包含一个或者多个事实数据表。事实数据 表可能包含业务销售数据,如现金登记事务所产生的数据, 事实数据表通常包含大量的行 • 主要包含了描述特定商业事件的数据,即某些特定商业事 件的度量值。 • 一般事实表中只存放数字或者一些Flag用来统计,如数量、 支出等 • 一般情况下,事实表中的数据不允许修改,新的数据只是 简单地添加进事实表中 • 事实就是需要分析的目标数据