目录
第I部分 基 础
第1章1分析型数据库与维度设计 / 3
1.11维度设计 / 3
1.1.1 目的 / 3
1.1.2 度量和环境 / 5
1.1.3 事实和维度 / 5
1.1.4 聚合维度和事实 / 7
1.21星型模式 / 8
1.2.1 维度表 / 9
1.2.2 键与历史 / 10
1.2.3 事实表 / 10
1.31星型模式的应用 / 10
1.3.1 查询事实 / 11
1.3.2 浏览维度 / 12
1.41指导原则 / 13
1.51本章小结 / 13
1.61补充阅读 / 14
第2章 数据仓库体系结构 / 15
2.1 Inmon的企业信息化工厂 / 15
2.2 Kimball的维度数据仓库 / 17
2.3 独立型数据集市 / 19
2.4 体系结构和维度设计 / 20
12.4.1 方法的对比 / 21
12.4.2 公共元素 / 22
12.4.3 适用于本书的术语 / 23
2.5 本章小结 / 23
2.6 补充阅读 / 24
第3章 星型模式与多维数据集 / 25
3.1 维度表特性 / 25
13.1.1 代理键与自然键 / 25
13.1.2 丰富的维度集合 / 27
13.1.3 维度表中的组合维度 / 30
3.2 事实表特性 / 33
13.2.1 事实表与过程 / 33
13.2.2 获取事实 / 33
13.2.3 粒度 / 36
13.2.4 稀疏性 / 37
13.2.5 退化维 / 37
3.3 缓慢变化维 / 38
13.3.1 变化类型1 / 40
13.3.2 变化类型2 / 42
13.3.3 选择并实现响应类型 / 44
3.4 多维数据集 / 46
3.5 本章小结 / 49
3.6 补充阅读 / 49
第II部分 多种星型模式
第4章 过程处理中的事实表 / 53
4.1 事实表与业务过程 / 53
4.2 具有不同时间的事实 / 54
14.2.1 单一事实表带来的问题 / 55
14.2.2 以不同事实表的方式建模 / 57
4.3 具有不同粒度的事实 / 58
4.3.1 单一事实表带来的问题 / 58
4.3.2 以不同事实表的方式建模 / 61
4.4 从多个事实表中分析事实 / 61
4.4.1 连接事实表的危险 / 62
4.4.2 横向钻取 / 63
4.4.3 横向钻取的实现 / 67
4.5 本章小结 / 70
4.6 补充阅读 / 71
第5章 维度一致性问题 / 73
5.1 星型模式之间的协同 / 73
5.2 维度与横向钻取 / 75
15.2.1 造成横向钻取失败的原因 / 75
15.2.2 维度表不必相同 / 78
5.3 一致性维度 / 79
15.3.1 维度一致性的类型 / 80
15.3.2 规划一致性 / 85
5.4 结构与一致性 / 86
15.4.1 维度数据仓库 / 87
15.4.2 企业信息化工厂 / 89
15.4.3 独立型数据集市 / 90
5.5 本章小结 / 92
5.6 补充阅读 / 92
第III部分 维度设计
第6章 深入学习维度表 / 97
6.1 将维度分组到表中 / 98
16.1.1 关联维度属性的两种方法 / 98
16.1.2 对维度分组时的考虑 / 100
6.2 分解大型维度 / 102
16.2.1 任意分隔维度表 / 103
16.2.2 分割维度方法的替代方法 / 104
16.2.3 微型维度缓解ETL瓶颈和过度增长 / 105
6.3 角色维度和别名使用 / 110
16.3.1 单一表,多重关系 / 110
16.3.2 利用别名来存取角色 / 111
6.4 避免空值 / 113
6.4.1 空值带来的问题 / 113
6.4.2 避免空外键值 / 117
6.4.3 特别情况行的用途 / 118
6.5 行为维度 / 121
6.5.1 在查询期间将事实转换为维度 / 121
6.5.2 设计并使用行为维度 / 122
6.5.3 行为维度设计要素 / 123
6.6 本章小结 / 123
6.7 补充阅读 / 124
第7章 层次结构与雪花模式 / 127
7.1 钻取 / 127
7.1.1 钻取的定义 / 127
7.1.2 钻取的实质 / 128
7.2 属性层次和钻取 / 129
7.2.1 属性层次 / 129
17.2.2 在属性层次中钻取 / 130
17.2.3 钻取的其他方法 / 130
17.2.4 文档化属性层次结构 / 132
7.3 雪花模式 / 135
17.3.1 避免采用雪花模式 / 136
17.3.2 采用雪花架构 / 138
7.4 支架表 / 140
17.4.1 重复组 / 140
17.4.2 通过支架表消除重复组 / 142
17.4.3 支架表和缓慢变化处理 / 143
7.5 本章小结 / 145
7.6 补充阅读 / 145
第8章 深入学习缓慢变化技术 / 147
8.1 时间戳维度 / 147
18.1.1 维度的时间点状态 / 148
18.1.2 时间戳解决方案 / 150
8.2 类型3变化 / 154
18.2.1 研究具有新旧维度值的所有事实 / 154
18.2.2 类型3解决方案 / 156
8.3 混合缓慢变化 / 159
18.3.1 冲突的需求 / 159
18.3.2 混合响应 / 160
18.3.3 评估和扩展混合方法 / 163
8.4 本章小结 / 164
8.5 补充阅读 / 165
第9章 多值维度与桥接表 / 167
9.1 标准的一对多关系 / 167
9.2 多值维度 / 169
19.2.1 简化关系 / 169
19.2.2 为多值维度构建桥接表 / 171
9.3 多值属性 / 177
19.3.1 简化多值属性 / 178
19.3.2 使用属性桥接表 / 179
9.4 本章小结 / 185
9.5 补充阅读 / 186
第10章 递归层次与桥接表 / 187
10.1 递归层次 / 187
1 10.1.1 涉及其他行的行 / 188
1 10.1.2 报表的难度 / 189
10.2 递归层次的扁平化 / 190
1 10.2.1 扁平化层次 / 190
1 10.2.2 扁平化带来的问题 / 191
1 10.2.3 适合扁平化的情况 / 193
10.3 层次桥接表 / 193
1 10.3.1 层次桥接表的设计 / 194
1 10.3.2 使用桥接表 / 197
1 10.3.3 双重计算 / 201
1 10.3.4 解决多对多关系 / 204
1 10.3.5 可能存在的误用 / 207
10.4 变化与层次桥接表 / 207
10.4.1 维度或桥接表的类型1变化 / 207
1 10.4.2 维度的类型2变化 / 208
1 10.4.3 层次的类型2变化 / 212
10.5 关于层次桥接表的相关
讨论 / 214
1 10.5.1 装饰桥接表 / 214
1 10.5.2 多父节点 / 215
1 10.5.3 多层次 / 215
10.6 本章小结 / 216
10.7 补充阅读 / 217
第IV部分 事实表设计
第11章 事务、快照和累积快照 / 221
11.1 事务事实表 / 221
1 11.1.1 描述事件 / 221
1 11.1.2 事务事实表的特性 / 222
11.2 事实表快照 / 223
1 11.2.1 挑战:研究状态 / 223
1 11.2.2 快照模型 / 225
1 11.2.3 快照注意事项 / 229
11.3 累积快照事实表 / 233
1 11.3.1 挑战:研究事件之间的时间间隔 / 233
1 11.3.2 累积快照 / 236
1 11.3.3 累积快照的注意事项 / 240
11.4 本章小结 / 244
11.5 补充阅读 / 244
第12章 无事实的事实表 / 247
12.1 无事实的事件 / 247
1 12.1.1 什么也不度量 / 247
1 12.1.2 无事实的事实表 / 248
1 12.1.3 使用无事实的1事实表 / 249
1 12.1.4 添加事实 / 250
12.2 条件、范围或资格 / 252
1 12.2.1 对条件建模的原因 / 252
1 12.2.2 用于条件的无事实的1事实表 / 254
1 12.2.3 比较行为和条件 / 255
1 12.2.4 缓慢变化维度和1条件 / 258
12.3 本章小结 / 258
12.4 补充阅读 / 259
第13章 特殊类型的星型模式 / 261
13.1 特殊类型属性 / 261
1 13.1.1 操作型系统 / 261
1 13.1.2 分析型系统 / 262
13.2 核心和自定义星型模式 / 263
1 13.2.1 核心和自定义维度表 / 263
1 13.2.2 核心和自定义事实表 / 267
1 13.2.3 其他注意事项 / 270
13.3 使用通用属性 / 271
1 13.3.1 通用属性 / 271
1 13.3.2 使用通用设计 / 272
13.4 本章小结 / 273
13.5 补充阅读 / 274
第V部分 性能
第14章 导出模式 / 277
14.1 重构维度数据 / 277
1 14.1.1 应用导出模式 / 278
1 14.1.2 已经接触过的导出1 模式 / 279
1 14.1.3 导出模式的开销 / 280
14.2 融合事实表 / 281
1 14.2.1 预先计算横向钻取1结果 / 281
1 14.2.2 简化过程比较 / 282
1 14.2.3 改进性能 / 283
1 14.2.4 不能实现横向钻取的1支持工具 / 283
1 14.2.5 单一过程分析 / 283
1 14.2.6 包含一个不可共享的1维度 / 284
14.3 旋转事实表 / 285
1 14.3.1 对旋转数据的需求 / 285
1 14.3.2 旋转数据带来的好处 / 286
1 14.3.3 旋转数据带来的问题 / 287
14.4 切片事实表 / 287
1 14.4.1 为星型模式建立切片 / 287
1 14.4.2 使用切片事实表 / 288
1 14.4.3 开始切片 / 289
14.5 集合操作事实表 / 289
1 14.5.1 比较数据的两个集合 / 289
1 14.5.2 几种可能的比较 / 290
1 14.5.3 选择预计算集合操作 / 291
14.6 本章小结 / 291
14.7 补充阅读 / 292
第15章 聚集 / 293
15.1 聚集的基础知识 / 293
1 15.1.1 汇总基本数据 / 294
1 15.1.2 使用聚集 / 297
1 15.1.3 加载聚集 / 300
1 15.1.4 作为聚集的多维1数据集 / 302
15.2 使聚集不可见 / 303
1 15.2.1 聚集导航 / 303
1 15.2.2 建立聚集 / 306
15.3 可选的汇总设计方法 / 307
1 15.3.1 可转换汇总也是一种1可用的方法 / 307
1 15.3.2 避免单一表设计 / 308
15.4 本章小结 / 310
15.5 补充阅读 / 310
第VI部分 工具及文档
第16章 设计与商业智能 / 315
16.1 商业智能与SQL生成 / 315
1 16.1.1 SQL生成器 / 315
1 16.1.2 SQL生成器的限制 / 318
16.2 适用于语义层的指导原则 / 319
1 16.2.1 需要避免的特性 / 320
1 16.2.2 需要使用的特性 / 322
16.3 使用商业智能工具的SQL生成器 / 323
1 16.3.1 多星型模式 / 323
1 16.3.2 半可加事实 / 328
1 16.3.3 浏览查询 / 329
1 16.3.4 桥接表 / 331
16.4 使用基于多维数据集的商业智能 / 336
1 16.4.1 以多维数据集为中心1 的商业智能工具 / 336
1 16.4.2 自动生成多维数据集 / 338
16.5 本章小结 / 340
16.6 补充阅读 / 341
第17章 设计与ETL / 343
17.1 ETL过程 / 343
1 17.1.1 ETL是一种复杂的1任务 / 343
1 17.1.2 ETL过程使用的1工具 / 344
1 17.1.3 结构与ETL过程 / 344
17.2 加载星型模式 / 344
1 17.2.1 高层依赖 / 344
1 17.2.2 加载维度表 / 345
1 17.2.3 加载事实表 / 350
17.3 优化加载 / 354
1 17.3.1 变化数据的识别 / 354
1 17.3.2 简化处理 / 355
17.4 清理数据 / 357
1 17.4.1 需要清理什么 / 357
1 17.4.2 清理维度数据 / 358
1 17.4.3 含有无效细节信息1的事实 / 358
17.5 内部处理列 / 360
1 17.5.1 维度表中的内部处1理列 / 360
1 17.5.2 内部处理与事实表 / 361
17.6 本章小结 / 362
17.7 补充阅读 / 363
第18章 如何设计并文档化维度
模型 / 365
18.1 维度设计与数据仓库生命周期 / 365
1 18.1.1 维度设计的战略1位置 / 365
1 18.1.2 何时做维度设计 / 367
18.2 设计活动 / 367
1 18.2.1 规划设计工作 / 368
1 18.2.2 开展访谈指导 / 369
1 18.2.3 设计维度模型 / 372
1 18.2.4 计划的优先级 / 377
1 18.2.5 文档化结果 / 378
18.3 文档化维度模型 / 379
1 18.3.1 需求文档 / 379
1 18.3.2 顶层设计文档 / 381
1 18.3.3 详细设计文档 / 386
1 18.3.4 逻辑设计与物理设计 / 389
18.4 本章小结 / 389
18.5 补充阅读 / 390
