第1章 连接、身份验证和特权
1.1 建立连接
1.1.1 数据库管理员任务
1.1.2 Oracle组件的安装
1.1.3 CrystalXTREME样本数据的安装
1.1.4 CrystalDataAccess组件的安装
1.1.5 内置OracleOCI的配置
1.1.6 OLEDB
1.1.7 ODBC连接建立
1.2 选择连接方法
1.3 CrystalDatabase选项
1.4 用户ID和模式
1.5 身份验证方法
1.6 数据库特权
1.7 本书中使用的连接选项
第2章 Oracle结构
2.1 模式
2.2 对象
2.2.1 表
2.2.2 视图
2.2.3 物化视图
2.2.4 维数
2.2.5 序列生成器
2.2.6 同义词
2.2.7 索引
2.2.8 主键
2.2.9 数据库链接
2.3 关系
2.4 数据类型
2.4.1 内建数据类型
2.4.2 用户定义的数据类型
2.4.3 集合
2.5 空值
2.6 数据字典视图
第3章 OracleSQL
3.1 基本的SELECT语句
3.2 SELECT列表
3.3 FROM子句
3.4 联接类型
3.4.1 Oracle9i之前的联接
3.4.2 9i联接
3.5 过滤
3.6 排序
3.7 分组
3.8 分组过滤
3.9 运算符
3.10 Oracle比较条件
3.11 聚集函数
3.12 使用日期
3.12.1 选择公式中的日期
3.12.2 SQLExpression中的日期文字
3.12.3 DateTime函数
3.13 使用字符串
3.14 使用数字
3.15 其他常见函数
3.15.1 NVL
3.15.2 NVL2
3.15.3 COALESCE
3.15.4 DECODE
3.15.5 CASE
3.15.6 GREATEST
3.15.7 LEAST
3.16 伪列
3.16.1 ROWNUM
3.16.2 ROWID
3.17 子查询
第4章 Oracle高级SELECT选项
4.1 HAVING子句
4.2 集运算
4.2.1 UNION
4.2.2 UNIONALL
4.2.3 INTERSECT
4.2.4 MINUS
4.3 分级查询
4.4 WITH子句
4.5 聚集函数
4.5.1 ROLLUP
4.5.2 CUBE
4.6 分析函数
4.6.1 排序函数
4.6.2 报告聚集函数
4.6.3 开窗聚集函数
4.6.4 FIRST_VALUE和LAST_VALUE
4.6.5 LAG/LEAD
4.6.6 FIRST/LAST
4.6.7 线性回归
4.6.8 反百分点
4.6.9 假定排序和分布
4.6.10 WIDTH_BUCKET
第5章 PL/SQL
5.1 概述
5.2 PL/SQL结构
5.2.1 代码块
5.2.2 游标
5.2.3 REFCURSOR(游标变量)
5.2.4 事务处理控制
5.2.5 子程序
5.2.6 程序包1
5.2.7 PL/SQL中的SQL
5.2.8 NativeDynamicSQL
5.3 REFCURSOR存储过程
5.3.1 存储过程需求
5.3.2 简单的存储过程示例
5.3.3 REFCURSOR存储过程的特权
5.3.4 存储过程参数和Crystal
5.3.5 使用临时表
5.3.6 从SQLCommand调用存储过程
5.3.7 存储过程的操作
5.3.8 存储过程的问题
第6章 优化:Crystal Reports部分
6.1 减少记录数
6.1.1 服务器上的分组
6.1.2 在选择公式中使用SQLExpression
6.1.3 参数
6.2 各种提示
6.2.1 限制子报表的使用
6.2.2 连接类型
6.2.3 使用UnionAll替代Union
6.2 4 避免按特定次序排序
6.2.5 索引字段
6.2.6 避免将存储过程数据集链接到其他对象
6.2.7 大字符字段
6.3 SQLExpression
6.3.1 运算符
6.3.2 函数
6.3.3 Running Totals
6.4 SQLCommand
6.4.1 SQLCommand中允许的SQL
6.4.2 优化SQLCommand
6.4.3 SQLCommand参数
6.4.4 模式特有的查询
第7章 优化:Oracle部分
7.1 Oracle优化器
7.1.1 基于规则的优化器
7.1.2 基于开销的优化器
7.2 执行计划
7.2.1 显示执行计划
7.2.2 访问方法
7.2.3 联接
7.2.4 操作
7.2.5 视图
7.2.6 绑定变量
7.2.7 其他
7.3 执行计划子报表
7.4 优化环境
7.4.1 优化器初始化参数
7.4.2 内存分配
7.5 优化执行计划
7.5.1 提示
7.5.2 优化器提示
7.5.3 索引
7.5.4 存储提纲
第8章 优化:减少解析
8.1 解析的描述
8.2 减少硬解析
8.2.1 查看Oracle的V$SQL动态性能视图
8.2.2 Crystal参数和解析
8.2.3 用于SQL统计数据的子报表
8.2.4 Oracle绑定变量
8.2.5 SQLCommand和解析
8.2.6 存储过程和解析
8.2.7 CURSOR_SHARING=FORCE
8.2.8 CURSOR_SHARING=SIMILAR
8.2.9 选择解析减少方法
8.3 缓存游标
第9章 其他提示
9.1 物化视图
9.1.1 概述
9.1.2 查询重写
9.1.3 Freshness子报表
9.2 外部表
9.2.1 配置
9.2.2 样本报表
9.3 异种服务:通用连接
9.3.1 配置
9.3.2 报表示例
9.3.3 使用同义词
9.4 OracleFlashback查询
9.4.1 配置
9.4.2 SELECTASOF过去的一个时刻
9.4.3 使用SELECTASOF报告
9.4.4 DBMS_FLASHBACK
9.5 通过CrystalReports更新数据
9.5.1 通过存储过程
9.5.2 通过SQLCommand
第10章 数据字典报表
10.1 Oracle数据字典视图
10.2 报表策略
10.3 创建查询
10.3.1 获取所有对象
10.3.2 对象级字段
10.3.3 细节级
10.3.4 最终查询
10.4 创建报表
10.4.1 预备设置
10.4.2 创建报表
10.4.3 页面设置
10.4.4 添加参数
10.4.5 创建公式
10.4.6 修改分组选项
10.4.7 填充和格式化部分
第11章 Crystal知识库
11.1 创建知识库
11.1.1 创建Oracle模式
11.1.2 创建知识库表
11.1.3 创建ODBCDSN
11.1.4 填充知识库样本数据
11.1.5 配置Crystal使用新的知识库
11.1.6 测试新的知识库表
11.2 为知识库配置安全
11.2.1 了解知识库数据模型
11.2.2 确定安全级别
11.2.3 实现知识库安全
11.3 使用知识库
11.4 知识库报表
附录A 常见问题
A. 1 Crystal问题
A.2 Oracle错误
附录B 函数
B.1 复制Crystal函数
B.2 其他函数