第1章 数据仓库概论 1
1.1 特别糟糕的一天 1
1.2 当前报表构架的问题所在 2
1.3 目标:决策支持 3
1.4 一个数据自动出纳机 4
1.5 什么是数据仓库? 5
1.5.1 面向主题 5
1.5.2 完整性 6
1.5.3 非易失性 7
1.5.4 居于不同时间 8
1.6 决策支持不同于事务处理 8
1.7 数据仓库:一个肮脏的小秘密 9
1.8 投资回报 10
1.9 关于本书 12
第2章 需要考虑的问题 13
2.1 不要轻信我们——应该客观点 13
2.2 文章和书籍只包含观点,而不包含事实 13
2.3 从商业需求开始——而不是技术 13
2.4 哪些数据进入数据仓库? 14
2.5 数据集市还是数据仓库? 15
2.6 大笨钟与小迭代——开发阶段 16
2.7 参照完整性(RI)永存 17
2.9 数据仓库的不同之处——开发者的观点 18
2.8 查询工具——多多益善 18
2.10 数据仓库的不同之处——用户的观点 19
2.11 授权用户 20
2.12 Oracle数据仓库为什么独占鳌头 21
2.12.1 全面解决方案 21
2.12.2 OLAP和通用服务器 21
2.12.3 一个仓储/多种解决方案 22
2.12.4 现存的关系 22
2.13 投资回报 22
第3章 组建开发团队 24
3.1 数据仓库开发团队角色清单 24
3.2 数据仓库工程所需要的角色 25
3.2.1 数据仓库工程导演 26
3.2.2 数据仓库工程经理 27
3.2.3 数据准备专家/商务分析专家 29
3.2.4 数据仓库工程师 29
3.2.5 数据库管理员 30
3.2.6 系统管理员 31
3.2.7 数据迁移专家 32
3.2.8 数据转换/整饰专家 33
3.2.9 数据集市开发负责人 33
3.2.10 质量保证/测试专家 34
3.2.12 权威用户(旧有系统专家) 35
3.2.11 基础结构专家 35
3.2.13 培训者 36
3.2.14 技术书记员 36
3.2.15 公共关系人员 36
3.2.16 企业中的盟友 37
3.2.17 桌面帮助功能设计人员 37
3.2.18 工具专家 37
3.2.19 经销商关系人 38
3.2.20 Web大师 38
3.3 顾问 39
4.1 什么是工程管理? 40
第4章 数据仓库工程管理 40
4.2 什么是一个工程 42
4.3 工程范围说明书 43
4.4 工作细目结构 45
4.5 工程估算 47
4.6 工程管理总结 51
第5章 数据仓库设计 53
5.1 设计——下一逻辑步骤 53
5.2 深入与用户交流 53
5.3 数据仓库数据库与操作型数据库 55
5.4 “规范的”操作型设计 56
5.4.2 第二范式 57
5.4.1 第一范式 57
5.4.3 第三范式 58
5.5 维数据仓库设计 59
5.6 星型模式 60
5.6.1 事实表 61
5.6.2 维表 61
5.7 粒度 63
5.8 数据仓库设计方法与指南 64
5.8.1 工程分析与计划 64
5.8.2 高层设计 66
5.8.3 中层设计 67
5.8.4 低层设计 68
第6章 数据集市 70
6.1 数据集市 71
6.1.1 独立数据集市 71
6.1.2 维数据库 74
6.1.3 影响设计的维 74
6.1.4 下钻需求对设计的影响 76
6.2 查询数据集市 77
6.2.1 查询条件的类型 77
6.2.2 聚集 78
6.3 数据仓库与数据集市 78
6.4 参照完整性 80
6.4.1 主键 80
6.5 最好的数据集市工具软件 81
6.4.2 外键 81
6.6 数据集市还是数据仓库? 83
第7章 物理数据仓库 85
7.1 超大型数据库 85
7.1.1 时机窗 85
7.1.2 精心管理和填充超大型数据库 86
7.2 民族语言支持(NLS) 87
7.2.1 客户端民族语言支持 87
7.2.2 服务器端民族语言支持 88
7.2.3 初始化参数文件 89
7.3.1 大规模并行处理和对称式多处理 90
7.3.2 并行查询 90
7.3 并行性 90
7.3.3 并行化与数据仓库 92
7.3.4 并行度 93
7.3.5 在实例级设置并行查询 94
7.4 为基于代价的优化器收集统计信息 95
7.4.1 SQL的Analyze命令 96
7.4.2 粗估与计算的比较 97
7.4.3 如何分析对象 97
7.4.4 何时分析对象 99
7.4.5 在何处查看统计数据 100
7.4.6 过时的统计数据 100
7.4.7 统计数据收集的一致性 101
7.5.1 系统支持的表空间 102
7.5 分割表空间 102
7.5.2 应用表空间 103
7.5.3 为用户指定表空间 104
7.6 从理论到实践 104
7.6.1 系统的逆规范化 104
7.6.2 星型模式的实现 108
7.7 双向模式存取方法 111
7.7.1 双向模式的属主 112
7.7.2 存取模式 112
7.7.3 激活和挂起一个模式 113
7.7.4 双向模式存取方法的威力 115
7.8 物理实现核查清单 116
第8章 将数据移入数据仓库 118
8.1 数据库对象 119
8.2 SQL Loader 119
8.2.1 SQL Loader的特征 120
8.2.2 激活SQL Loader 120
8.2.3 SQL Loader的输入和输出 122
8.2.4 控制文件 123
8.2.5 并行和直接装载 133
8.2.6 抑制产生重演日志和恢复信息 134
8.3 导入和导出 136
8.3.3 导出 137
8.3.1 操作方式 137
8.3.2 操作方法 137
8.3.4 导出程序的参数 138
8.3.5 关于导出分区表的一点说明 139
8.3.6 导出样例1 139
8.3.7 导出样例2 142
8.3.8 导出样例3 142
8.3.9 导入 143
8.3.10 导入程序的参数 144
8.3.11 关于将数据导入分区的一点说明 146
8.3.12 导入样例1 147
8.3.13 导入样例2 148
8.3.14 导入样例3 149
8.4 使用Oracle企业管理器装载数据 150
8.5 Oracle数据集市套件 152
8.6 基于引擎的工具 153
8.6.1 ELT工具特性 154
8.6.2 功能性测试 156
8.6.3 数据量测试 156
8.7 代码生成工具 157
8.7.1 ETI EXTRACT 158
8.7.2 Prism Solutions公司的数据仓库软件 159
8.8 Oracle透明网关 162
8.9 在数据转换中运用网关技术 163
9.1 什么是分区选项 164
9.1.1 分区表与未分区表的区别 164
第9章 分区 164
9.1.2 创建分区对象 165
9.1.3 选择分区键 166
9.1.4 行放置 177
9.2 传统的分区 179
9.2.1 分割 179
9.2.2 分块 181
第10章 索引数据仓库 183
10.1.2 考虑谓词中涉及的列 184
10.1 索引哪些列 184
10.1.1 考虑列的可选度 184
10.1.3 数据仓库的独特性 185
10.2 单列索引和复合索引 185
10.3 Oracle 8索引方法 187
10.3.1 B树索引 187
10.3.2 位图索引 187
10.4 分区表索引 190
10.5 索引组织化表 191
10.5.1 定义索引组织化表 191
10.5.2 索引组织化表的优点 192
10.6 优化直方图 193
10.5.3 何处使用索引组织化表 193
10.7 主键索引 195
10.8 优化索引创建过程 195
10.8.1 建立索引时,抑制产生恢复信息 196
10.8.2 快速索引重建 197
10.9 索引的创建和维护指南 197
10.9.1 装载数据,然后建立索引 198
10.9.2 为索引的创建分配大的排序空间 198
10.9.3 临时工作空间 198
10.9.4 共享池和索引建立 198
10.9.5 每个表中的索引数目 199
10.9.7 事务项参数 201
10.9.6 明确地设置存储参数 201
第11章 备份与恢复数据仓库 202
11.1 备份 202
11.1.1 提供保护机制防止错误 202
11.1.2 数据备份能提供什么 204
11.1.3 影响备份策略的因素 206
11.1.4 最佳备份时机 209
11.1.5 何时进行备份 209
11.1.6 映像备份 210
11.1.7 无人值守的24 7备份 211
11.1.8 备份技术的发展趋势 213
11.2.1 恢复的种类 219
11.2 恢复 219
11.2.2 用映像备份进行恢复 223
第12章 数据仓库安全 225
12.1 安全策略 225
12.1.1 工作站安全 225
12.1.2 窥探 226
12.2 安全 226
12.2.1 查看数据仓库数据 226
12.2.2 如何在数据仓库中进行权限管理 227
12.2.3 在何处实现安全 229
12.3 基于工具的安全 229
12.3.1 表的访问 230
12.3.2 商业域的访问 231
12.4 Oracle 8的口令安全 231
12.4.1 帐号锁定 232
12.4.2 口令生存期与口令到期 232
12.5 数据库用户管理 232
12.6 Oracle企业管理器与安全 233
12.6.1 Users 234
12.6.2 Roles 235
12.6.3 Profiles 235
12.6.4 OEM的威力 236
第13章 冗余独立磁盘阵列 237
13.1 RAID的产生与发展 238
13.1.1 革新阶段 240
13.1.2 仿制阶段 240
13.1.3 成熟阶段 240
13.1.4 巩固阶段 240
13.1.5 商品化阶段 241
13.2 为什么使用RAID 241
13.3 RAID 1——磁盘镜像 242
13.4 RAID 2——不可兼容 243
13.5 RAID 3——有奇偶校验位的数据分割 243
13.7 RAID 5——独立的磁盘访问、无奇偶校验的磁盘瓶颈 244
13.6 RAID 4——有奇偶校验位的数据分块 244
13.8 RAID——未来的选择,为什么每一个数据仓库都需要它 245
第14章 用户对数据的获取 247
14.1 查询工具的特性 248
14.1.1 易于使用 249
14.1.2 性能 250
14.1.3 多数据源 250
14.1.4 集中式管理 250
14.1.5 数据安全性 251
14.1.6 与Web的融合 252
14.1.7 集成化分析 253
14.2 使用SQL Plus生成报表 254
14.3.1 Oracle Discoverer管理器 255
14.3 Oracle Discoverer 255
14.3.2 Discoverer终端用户工具 258
14.4 Cognos Impromptu 261
14.4.1 定义到数据库的连接 261
14.4.2 创建目录 262
14.4.3 添加表 262
14.4.4 定义所要求的连接 263
14.4.5 创建文件夹结构 264
14.4.6 增加参数配置文件 265
14.5 从终端用户的角度看Impromptu 266
14.6 总结 268
15.1.1 多维性 269
第15章 关系型OLAP与聚集导航器 269
15.1 OLAP:仅仅是四个单词吗? 269
15.1.2 钻取 271
15.1.3 旋转或切片与切块 273
15.1.4 多视图模式 274
15.1.5 OLAP小结 275
15.2 ROLAP与MOLAP 275
15.2.1 多维数据库 276
15.2.2 关系型数据库 277
15.2.3 回到特洛伊:ROLAP与MOLAP 280
15.2.4 ROLAP与MOLAP的和平共处 284
15.3 为提高ROLAP的性能而对数据建模 285
15.4 三种ROLAP 286
15.5 结论 287
第16章 联机分析处理 288
16.1 什么是MOLAP、ROLAP和DOLAP 290
16.2 MOLAP还是ROLAP? 290
16.3 我们为什么需要OLAP? 291
16.4 OLAP工具 292
16.4.1 OLAP工具的评估 293
16.4.2 使用Cognos Transformer建立OLAP模型 294
16.4.3 Cognos的PowerPlay 299
16.5 Oracle与OLAP的市场 304
17.1 为什么要用Express 305
第17章 Oracle Express方案 305
17.2 Express的优势 306
17.2.1 Express适合数据仓库 307
17.2.2 完全开放的连接 308
17.2.3 标准的操作环境 309
17.2.4 一步到位的方案 309
17.2.5 与数据仓库的集成 310
17.3 Oracle Express服务器 310
17.3.1 概述 310
17.3.2 通信基础设施 311
17.4 Express数据模型 311
17.4.4 关系 312
17.4.3 公式 312
17.4.2 变量 312
17.4.1 维 312
17.5 使用Oracle Express服务器完成数据操作 313
17.6 Oracle Express管理器 321
17.6.1 创建数据库 321
17.6.2 与现存数据库相关的操作 323
17.7 Express DBA简介 324
17.7.1 数据库 324
17.7.2 导入/导出 325
17.8 Oracle Express对象 326
17.9 Express对象之旅 328
17.10.1 与Oracle GL的集成 331
17.10 Oracle财政分析器 331
17.10.2 关键特性及功能 332
17.11 Oracle销售分析程序 332
17.12 关系型访问管理器 333
17.13 Oracle Web代理 334
17.14 Express Web应用程序的工作情况 336
第18章 数据挖掘 338
18.1 什么是数据挖掘? 338
18.1.1 发现 339
18.1.2 关系 340
18.1.3 模式 340
18.2.1 欺诈检测 342
18.2 数据挖掘带来的收益 342
18.2.3 电子化方案的可伸缩性 343
18.2.2 投资回报 343
18.3 数据挖掘辅助决策 344
18.4 数据挖掘技术 344
18.4.1 神经网络 344
18.4.2 关联发现 345
18.4.3 分类 346
18.4.4 分簇 347
18.5.1 对Oracle数据库的直接访问 348
18.5.2 可视化分析的能力 348
18.5 数据挖掘方案核查表 348
18.4.5 顺序发现 348
18.5.3 吸收大量数据的能力 349
18.5.4 对数据质量的敏感性 349
18.6 数据挖掘的前景 350
第19章 数据仓库与万维网 351
19.1 什么是Internet 351
19.2 什么是World Wide Web 352
19.3 Internet的飞速发展 353
19.4 什么是Intranet 354
19.4.1 Intranet的演化 354
19.4.2 走近Intranet 355
19.4.4 Intranet的优势 356
19.4.3 Intranet与安全 356
19.4.5 Intranet的劣势 358
19.4.6 Intranet小结 359
第20章 数据仓库的协调 361
20.1 共享池 361
20.1.1 三个共享池参数 362
20.1.2 确定这些参数的值 363
20.2 有关协调的各种特性 364
20.2.1 只读表空间 364
20.2.2 临时表空间 366
20.2.4 读优先机制 367
20.2.3 并行感知优化器 367
20.2.5 导出程序的直接路径存取选项 368
20.2.6 Hash连接的处理 368
20.3 主管程序 370
20.3.1 生成参数配置文件 370
20.3.2 指派参数配置文件 371
20.3.3 改变参数配置文件并重新设置用户 372
20.4 初始化参数文件 373
20.4.1 参数项类型 373
20.4.2 重要参数的描述 373
20.5 使用不同的初始化参数文件启动Oracle 378
20.6 OEM实例管理程序 379