大多数数据仓库的管理者、设计者和开发者都熟悉Ralph Kimball在2001年写给数据仓库界的那封公开信。在信中,他向Inmon阵营提出了挑战,要求回答关于关系式方法有效性的棘手问题。由最著名的Inmon方法专家--Claudia Imhoff和其他作者合写的这本书,正面回答了Kimball公开信中提出的挑战性问题,并为在复杂的业务智能环境中如何正确地应用关系式和多维式两种建模技术提供了指导。
主要内容如下:
●在已经囊括了所有行业的各种公司的数据仓库环境中,已知哪种方法是最成功的
●给出了关系方法和多维方法的正反两方面意见对比,开发者可以确定最适合的方法
●为什么体系结构应该包括建立在关系数据模型概念之上的数据仓库
●键的构造和使用,数据仓库、层次及事务型数据的历史性质
●为了保证数据仓库能满足较好的性能要求,所需要解决的技术问题
●为保证最优数据仓库性能和处理随时间变化的数据,所需要的关系建模技术
本书全面论述了设计和建立高效、可持续发展且可扩展的数据仓库的方法,重点论述了建立各种数据模型的方法。主要内容包括业务智能环境和数据模型的概念、数据模型分类、数据模型的开发步骤、各种数据的建模方法、数据仓库的优化与扩展、数据模型的维护、关系型解决方案的部署、多维体系结构与企业信息工厂的比较等。
本书主要面向数据仓库的设计者和构建者以及数据仓库技术研究人员,同时也适合对数据仓库技术和企业信息化建设感兴趣的其他读者阅读。
第一部分 基本概念
第1章 绪论
1. 1 业务智能概述
1. 2 什么是数据仓库
1. 2. 1 数据仓库的作用和用途
1. 2. 2 企业信息工厂
1. 3 数据仓库的多用途性
1. 3. 1 支持的数据集市类型
1. 3. 2 支持的BI技术类型
1. 4 可维护的数据仓库环境的特点
1. 5 数据仓库数据模型
1. 5. 1 非冗余性
1. 5. 2 稳定性
1. 5. 3 一致性
1. 5. 4 最终数据使用方面的灵活性
1. 5. 5 Codd和Date前提
1. 6 建立数据集市的效果
1. 7 小结
第2章 关系的基本概念
2. 1 为什么需要数据模型
2. 2 关系数据模型的建模对象
2. 2. 1 主题
2. 2. 2 实体
2. 2. 3 元素或属性
2. 2. 4 联系
2. 3 数据模型的类型
2. 3. 1 主题域模型
2. 3. 2 业务数据模型
2. 3. 3 系统模型
2. 3. 4 技术模型
2. 4 关系数据建模指南
2. 4. 1 指导方针与最合适的做法
2. 4. 2 规范化
2. 5 关系数据模型的规范化
2. 5. 1 第1范式
2. 5. 2 第2范式
2. 5. 3 第3范式
2. 5. 4 其他规范化级别
2. 6 小结
第二部分 模型开发
第3章 理解业务模型
3. 1 业务场景
3. 2 主题域模型
3. 2. 1 关于特定行业的考虑
3. 2. 2 主题域模型开发过程
3. 2. 3 Zenith汽车公司的主题域模型
3. 3 业务数据模型
3. 4 小结
第4章 模型开发
4. 1 方法学
4. 1. 1 步骤1:选择感兴趣的数据
4. 1. 2 步骤2:在键中增加时间
4. 1. 3 步骤3:增加派生数据
4. 1. 4 步骤4:确定粒度级别
4. 1. 5 步骤5:汇总数据
4. 1. 6 步骤6:合并实体
4. 1. 7 步骤7:建立数组
4. 1. 8 步骤8:分离数据
4. 2 小结
第5章 键的建立和维护
5. 1 业务背景
5. 1. 1 不一致的客户业务定义
5. 1. 2 不一致的客户系统定义
5. 1. 3 系统之间不一致的客户标识
5. 1. 4 包含外部数据
5. 1. 5 由角色唯一确定的客户
5. 1. 6 未加说明的客户层次结构
5. 2 数据仓库系统模型
5. 2. 1 不一致的客户业务定义
5. 2. 2 不一致的客户系统定义
5. 2. 3 系统之间不一致的客户标识
5. 2. 4 吸收外部数据
5. 2. 5 由角色唯一确定的客户
5. 2. 6 未加说明的客户层次结构
5. 3 数据仓库技术模型
5. 3. 1 来自现存系统的键
5. 3. 2 来自公认标准的键
5. 3. 3 代理键
5. 4 多维数据集市的含义
5. 4. 1 多维模型中的差异
5. 4. 2 多维一致性的维护
5. 5 小结
第6章 日历建模
6. 1 业务中的日历
6. 1. 1 日历类型
6. 1. 2 其他财务日历
6. 1. 3 日历的元素
6. 1. 4 日历时间跨度
6. 2 时间和数据仓库
6. 2. 1 时间的性质
6. 2. 2 时间的标准化
6. 3 数据仓库系统模型
6. 4 案例分析:简单财务日历
6. 4. 1 分析
6. 4. 2 一个简单日历模型
6. 5 案例分析:位置有关日历
6. 5. 1 分析
6. 5. 2 GOSH日历模型
6. 5. 3 日历交付
6. 6 案例分析:多语种日历
6. 6. 1 分析
6. 6. 2 多国语言的存储
6. 6. 3 不同日期表示格式的处理
6. 6. 4 多语种交付
6. 7 案例分析:多重财务日历
6. 7. 1 分析
6. 7. 2 扩展日历
6. 8 案例分析:季节日历
6. 8. 1 分析
6. 8. 2 季节日历的结构
6. 8. 3 季节数据交付
6. 9 小结
第7章 层次树建模
7. 1 业务中的层次树
7. 2 层次树的性质
7. 2. 1 层次树的深度
7. 2. 2 层次树的父子关系
7. 2. 3 层次树的结构
7. 2. 4 历史
7. 2. 5 层次树类型小结
7. 3 案例分析:零售层次树
7. 3. 1 层次树的分析
7. 3. 2 层次树的实现
7. 4 案例分析:销售和产量计划安排
7. 4. 1 分析
7. 4. 2 产品层次树
7. 4. 3 客户层次树
7. 5 案例分析:零售采购
7. 5. 1 分析
7. 5. 2 业务模型的实现
7. 6 案例分析:套装
7. 6. 1 分析
7. 6. 2 材料清单的加入
7. 6. 3 数据的发布
7. 7 结构的变换
7. 7. 1 递归树的构建
7. 7. 2 递归树的平面化
7. 8 小结
第8章 事务建模
8. 1 业务型事务
8. 1. 1 数据仓库的业务应用
8. 1. 2 每个事务的平均行数
8. 1. 3 涉及变化的业务规则
8. 2 应用接口
8. 2. 1 快照接口
8. 2. 2 增量接口
8. 2. 3 数据库事务日志
8. 3 事务数据的交付
8. 4 案例分析:销售订单快照
8. 4. 1 订单的变换
8. 4. 2 技术1:完全快照捕捉
8. 4. 3 技术2:变化快照捕捉
8. 4. 4 技术3:具有增量捕捉的变化快照
8. 4. 5 装载处理
8. 5 案例分析:事务接口
8. 5. 1 事务的建模
8. 5. 2 事务的处理
8. 6 小结
第9章 数据仓库优化
9. 1 开发过程的优化
9. 1. 1 设计和分析的优化
9. 1. 2 应用开发的优化
9. 2 数据库的优化
9. 2. 1 数据聚簇
9. 2. 2 表划分
9. 2. 3 实施参照完整性
9. 2. 4 按索引组织的表
9. 2. 5 索引技术
9. 2. 6 小结
9. 3 系统模型的优化
9. 3. 1 垂直划分
9. 3. 2 逆规范化
9. 3. 3 子类型聚簇
9. 4 小结
第三部分 操作和管理
第10章 对业务变化的适应
10. 1 数据仓库的变化
10. 1. 1 变化的缘由
10. 1. 2 对变化的控制
10. 1. 3 变化的实现
10. 2 业务变化的建模
10. 2. 1 设想最坏的情况
10. 2. 2 对联系的概化
10. 2. 3 使用代理键
10. 3 业务变化的实现
10. 3. 1 主题域的集成
10. 3. 2 增加主题域
10. 4 小结
第11章 模型维护
11. 1 模型及其演进的管理
11. 1. 1 主题域模型
11. 1. 2 业务数据模型
11. 1. 3 系统数据模型
11. 1. 4 技术数据模型
11. 1. 5 同步的含义
11. 2 模型的协调
11. 2. 1 主题域和业务数据模型
11. 2. 2 业务数据模型和系统数据模型
11. 2. 3 系统数据模型和技术数据模型
11. 3 对多个建模师的管理
11. 3. 1 作用和职责
11. 3. 2 冲突管理
11. 4 小结
第12章 关系型解决方案的部署
12. 1 数据集市的混乱
12. 1. 1 为什么糟糕
12. 1. 2 "体系结构方式"准则
12. 2 从数据集市混乱结构中迁移出来
12. 2. 1 维的一致化
12. 2. 2 建立数据仓库数据模型
12. 2. 3 建立数据仓库
12. 2. 4 仅仅以"体系结构方式"建立新的数据集市--不理会旧的集市
12. 2. 5 从一个数据集市建立体系结构
12. 3 选择正确的迁移路径
12. 4 小结
第13章 数据仓库设计方法学比较
13. 1 多维体系结构
13. 2 企业信息工厂体系结构
13. 3 CIF体系结构和MD体系结构的比较
13. 3. 1 范围
13. 3. 2 角度
13. 3. 3 数据流
13. 3. 4 易失性
13. 3. 5 灵活性
13. 3. 6 复杂性
13. 3. 7 功能性
13. 3. 8 持续的维护
13. 4 小结
术语表
参考文献
我们拿到本书的英文稿时, 该书的英文版还没有正式出版. 看了该书的书名, 首先感到眼前一亮, 认为从本书可以详细了解数据仓库的设计方法. 再看又感到费解, 怎么又是关系与多维技术?通过浏览本书的详细内容后发现, 本书确实是一本难得的介绍数据仓库建模方法的好书.
首先, 本书的三位作者都具有从事数据仓库建设和咨询的丰富经历. Claudia Imhoff与Bill Inmon合作撰写了Corporate Information Factory, 提出了企业信息工厂的概念和体系结构, 创建了从事分析型CRM及业务智能技术和策略领域的权威咨询公司--Intelligent Solutions公司. Nicholas Galemmo和Jonathan G. Geiger都具有多年的系统开发和咨询经验.
第二, 本书成功地将Bill Inmon的基于关系模型的数据仓库设计理念与Ralph Kimball的基于多维模型的数据集市设计理念结合起来, 解决了数据仓库设计中令人困惑的局面. 长期以来, 人们一提起数据仓库的设计, 就是多维模型. 多维设计, 本书给出了很好的答案和选择.
第三, 本书是作者长期从事数据仓库建设和咨询工作的经验总结, 给出了建立数据仓库的最好的实践方法和建议, 即给出了成功建设数据仓库应该采取或避免什么行动. "日历建模"在其他数据仓库书中末见论述, 本书作为一章来讨论. 有数据仓库经验的技术人员都知道时间属性对于数据仓库至关重要, 但是详细讨论日历建模的只有本书.
第四, 本书结合两个实例介绍了数据仓库建模过程, 并且详细地介绍了各个步骤应该进行的具体工作. 数据仓库是一种能够管理企业一定历史时期内的海量数据, 并为企业各级决策者提供支持的环境和技术.
全书共分三个部分, 第一部分介绍了数据仓库和模型的基本概念, 第二部分讨论了模型开发的过程和相关技术, 第三部分讨论了数据仓库的操作和管理. 本书以两个虚构的企业为实际案例贯穿全书, 讨论了企业数据仓库建模和维护的全过程, 包括业务建模. 数据仓库的三范式建模. 数据集市的多维建模. 数据仓库的优化. 数据仓库的维护. 如何在已有的数据集市基础上建立企业数据仓库等. 可操作性强. 讲解透彻是本书的最大特点.
本书的主要译者从1995年起就开始了数据仓库相关技术的研究, 承担了国家863计划中的数据仓库系统开发课题, 并且参与了大型企业数据仓库工程的建设, 深感建立企业数据仓库的复杂性. 建立企业数据仓库是一个需要投入巨大的人力. 物力资源的工程, 必须有一个很好的数据仓库建立方法学作为指导. 而本书结合实际工程经验, 详细地讲解了数据仓库建模中遇到的方方面面的问题, 并详细分析了采用各种技术的原因. 这些经验和方法对于数据仓库架构师极具参考价值.
本书的翻译. 统稿由于戈. 王大玲和鲍玉斌共同完成. 其中术语表由于戈翻译, 第1. 11. 12章由王大玲翻译, 第2. 5章由申德荣翻译, 第3章由董晓梅翻译, 第4章由张天成翻译, 第6章由邓庆绪翻译, 第7章由于亚新翻译, 第8章由孙焕良翻译, 第9. 10章由赵志滨翻译, 第13章由鲍玉斌翻译.
尽管我们具有一定的数据仓库项目研究和开发经验, 但是由于本书涉及到许多应用领域的建模问题, 所以有些词汇的翻译可能欠准确, 译文中难免有不当之处, 恳请读者批评指正. 如果您有何建议和意见, 欢迎发E-mail至:yuge@mail. neu. edu. cn, dlwang@mail. neu. edu. cn, baoyb@mail. neu. edu. cn.
Claudia Imhoff Intelligent Solutions公司(www. IntelSols. com)的总裁和创始人. 该公司是CRM(客户关系管理)及业务智能技术和策略方面的权威咨询公司. Claudia Imhoff博士是一位受欢迎的演说家和国际上公认的专家, 担任许多企业. 大学和尖端技术公司在该领域的咨询顾问. 她与其他人合写了关于该领域的5部著作和50多篇文章. 联系方式为Clmhoff@IntelSols. com.
Nicholas Galemmo曾经担任Nestle USA的信息架构师. Nicholas具有27年作为专业人士和咨询顾问的经验, 涉足制造. 流通. 教育. 军事. 保健和金融等行业的应用系统设计和开发的所有方面. 在过去11年里, 他一直从事大型数据仓库构建和系统集成项目. 他使用多维体系结构和关系体系结构建立了许多数据仓库. 他发表过许多文章, 并出席过多届技术会议. 联系方式为ngalemmo@yahoo. com.
Jonathan G. Geiger Intelligent Solutions公司的执行副总裁. Jonat