前言 1
第一部分 开始Oracle设计 13
第一章 简介 13
什么是设计? 13
一个案例研究 14
寻找替代的方法和途径 25
制定设计阶段的计划 29
设计的任务 30
第二章 Oracle设计的重要性 46
特殊体系结构的设计 46
性能设计 51
其他设计考虑 53
Oracle的版本演变及其对设计的影响 55
小结 72
第三章 数据建模 73
模型的类型 74
什么是数据建模? 76
实体关系图 78
对概念信息模型的质量保证 82
实体生命历史和数据流图 106
数据驱动的设计和元模型 110
第二部分 数据库设计 115
第四章 决定何时反向规范化 115
反向规范化:是什么,为什么,什么时候? 115
实现反向规范化的方法 119
其他类型的反向规范化 121
第五章 选择数据类型和null 127
可用的数据类型 128
数字数据 129
日期和时间(时间)数据 132
字符串数据 134
非结构化的数据和BLOB 137
其他数据类型 138
null值 140
第六章 选择键和索引 146
主键 147
其他键 156
索引的概述 158
索引类型和建立索引的技术 162
第七章 时间数据的处理 179
时间数据的问题 179
时间数据库的设计问题 183
时间数据:小结 204
第八章 加载和卸载数据 205
与外部系统的交互 205
数据兼容性问题 208
数据迁移步骤 215
数据转换 217
文件格式 221
使用SQL*Loader 223
排序、恢复和提交的频率 223
从Oracle到Oracle:一个特殊的案例 226
引出数据 227
第九章 如何放置和存储对象 230
指定对象的放置位置 230
规划大小 233
指定存储参数 235
实现计划 238
创建脚本 238
第十章 保护数据 240
存档 241
审核 248
安全 259
备份 270
第三部分 特殊体系结构的设计 283
第十一章 客户/服务器的设计 283
为什么使用客户/服务器? 284
什么是客户/服务器? 285
客户/服务器采用哪种类型的硬件? 286
客户/服务器设计的基本问题 288
客户/服务器的设计 289
SQL*Net基础 292
一个SQL语句的剖析 293
从中间划分 296
特殊的设计考虑 298
第十二章 分布式数据库的设计 314
什么时候应该使用分布式数据库? 314
Oracle对数据分布支持的演变过程 316
选择一个数据分布策略 328
实例分析 343
使用分布式数据库以便回退 347
其他设计考虑 347
对数据分布的小结 348
第十三章 数据仓库的设计 350
为什么要使用数据仓库? 350
什么是数据仓库? 352
数据仓库的设计问题 362
提取和加载数据 373
元数据 378
转换类型和转换方法 379
通过数据挖掘和OLAP工具检索数据 381
第十四章 并行处理的设计 383
为什么需要并行机制? 384
并行机制的设计实现 389
并行查询选项 395
Oracle并行服务器 398
第四部分 代码模块的设计 407
第十五章 代码设计介绍 407
分析阶段提交的内容 408
将功能映射为模块 411
不要忘记系统模块 413
源代码与版本控制 416
模板代码 419
测试的设计 420
运行单元设计中的CASE产品 422
第十六章 如何划分处理逻辑 424
数据规则、处理规则和接口规则 424
逻辑的放置 430
锁定问题 432
处理逻辑的划分与三层体系结构有何关系? 434
第十七章 度量、原型和规范 437
开发模块的设计和建立度量 437
消除很大的模块 440
我们要设计原型吗? 442
如何建立模块规范?关于建立模块规范的指导方针 447
详细说明屏幕和报表 449
详细说明批处理 450
第十八章 锁定 451
锁定策略 451
死锁 454
可串行性 455
其他设计问题 456
第十九章 选择工具集 460
工具的类型 460
哪些选择标准是重要的? 461
客户/服务器工具 463
WWW的设计 466
第二十章 屏幕、报表和批处理程序等的设计 467
屏幕设计 467
报表设计 470
批处理程序的设计 472
错误处理 481
导航 483
在线帮助 485
第五部分 附录 489
附录一 第三方提供的开发包 489
附录二 设计的窍门 499
词汇表 515