内容简介
第1章 Oracle体系结构和存储
1.1 体系结构
1.1.1 实例
1.1.2 数据组织结构
1.2 数据类型
1.2.1 字符数据类型
1.2.2 BFILE
1.2.3 数值型数据类型
1.2.4 RAW和LONG RAW
1.2.5 其他数据类型
1.3 小结
第2章 使用SQL
2.1 SQL语句的处理流程
2 1.1 连接到数据库
2.1.2 建立游标
2.1.3 提交SQL语句
2.1.4 接收数据
2.2 性能问题
2.2.1 检索的性能
2.2.2 使用绑定变量
2.2.3 并行操作
2.3 小结
第3章 多用户控制
3.1 目的
3.1.1 数据完整性
3.1.2 隔离
3.1.3 串行化
3.2 事务
3.3 同时发生的用户完整性问题
3.4 锁
3.5 争用
3.6 Oracle解决方案
3.6.1 多版本读取一致性
3.6.2 完整性结论
3.6.3 性能结论
3.6.4 隔离级别
3.7 实现问题
3.7.1 写争用
3.7.2 避免数据改变
3.8 小结
第4章 数据库设计基础
4.1 数据库设计阶段
4.1.1 概念数据库设计
4.1.2 逻辑数据库设计
4.1.3 物理设计
4.1.4 实践设计
4.1.5 数据库设计具
4.1.6 数据库设计技术
4.2 数据库设计学习案例
4.3 规范化
4.3.1 第一范式
4.3.2 第二范式&5
4.3.3 第三范式
4.3.4 其他键
4.3.5 规范化小结
4.4 定义附加实体(表)
4.5 反规范化
4.6 其他物理设计选项
4.7 Oracle面向对象的设计选项
4.8 小结
第5章 Oracle安全性
5.1 安全概念
5.1.1 机密性及保密
5.1.2 完整性
5.1.3 保证数据库层安全的原因
5.2 身份验证
5.2.1 用户及密码
5.2.2 智能卡和物理标识
5.2.3 Oracle语法
5.3 授权
5.3.1 系统特权
5.3.2 对象特权
5.3.3 角色
5.3.4 存储过程
5.4 访问控制
5.4.1 视图
5.4.2 加密
5.4.3 虚拟私有数据库
5.4.4 Oracle标记安全选择
5.5 可说明性
5.5.1 审计
5.5.2 触发器
5.6 企业安全
5.6.1 LDAP
5.6.2 企业用户
5.6.3 共享模式
5.6.4 数据库安全
5.6.5 网络安全
5.7 安全实践
5.8 小结
第6章 Oracle数据字典
6.1 数据字典的概念
6.2 Oracle数据字典的结构
6.2.1 USER_TABLES
6.2.2 ALL_TABLES
6.2.3 DBA_TABLES
6.2.4 TAB
6.2.5 V_$FIXED_TABLE
6.3 开发期间的Oracle数据字典
6.3.1 定位及描述数据字典视图
6.3.2 哪一个视图组
6.3.3 更新数据字典
6.4 执行时的Oracle数据字典
6.4.1 SQL到生成SQL
6.4.2 动态SQL
6.5 小结
第7章 安装Oracle
7.1 获得Oracle软件
7.2 安装Oracle服务器软件
7.2.1 系统需求
7.2.2 安装软件
7.3 访问Oracle数据库
7.4 安装Oracle客户端软件
7.4.1 Java驱动程序
7.4.2 Oracle客户端软件
7.4.3 安装Oracle Instant Client
7.4.4 哪一个驱动程序
7.5 小结
第8章 SQL概述
8.1 历史回顾
8.2 标准
8.3 SQL语句分组
8.4 数据定义语言(DDL)
8.4.1 CREATE
8.4.2 ALTER
8.4.3 DROP
8.4.4 Caveat!
8.5 数据处理语言(DML)
8.6 SQL:面向集合和非过程化特性
8.6.1 SELECT语句
8.6.2 多表访问
8.6.3 子查询
8.6.4 INSERT
8.6.5 UPDATE
8.6.6 DELETE
8.6.7 COMMIT/ROLLBACK/SAVEPOINT
8.7 小结
第9章 扩展的SQL
9.1 扩展条件
9.1.1 LIKE及REGEXP_LIKE
9.1.2 IN及EXISTS
9.1.3 ALL、SOME及ANY
9.2 扩展集合操作
9.2.1 UNION
9.2.2 INTERSECT
9.2.3 MINUS
9.3 MERGE
9.3.1 示例
9.3.2 警告
9.4 TRUNCATE
9.5 ROWNUM及Ranking
9.5.1 使用ROWNUM
9.5.2 使用分析单
9.6 闪回查询
9.6.1 工作原理
9.6.2 语法
9.6.3 闪回查询示例
9.6.4 警告
9.6.5 扩展的闪回能力
9.7 根据写操作返回数据
9.8 其他扩展
9.9 小结
第10章 索引
10.1 索引基础
10.1.1 索引的运作方式
10.1.2 键
10.1.3 索引属性
10.2 B-树索引
10.2.1 B-树索引的工作原理
10.2.2 关于B-树索引的不实之辞
10.3 逆键索引
10.4 基于函数的索引
10.4.1 基于函数索引的应用程序
10.4.2 潜在问题
10.5 域索引
10.6 位图索引
10.6.1 位图索引的结构
10.6.2 位图索引的影响
10.7 位图连接索引
10.8 索引组织表
10.9 索引群集
10.10 散列群集
10.11 关于设计与性能的建议
10.11.1 从小处着手
10.11.2 键压缩
10.11.3 SQL Access Advisor
10.12 小结
第11章 约束
11.1 数据库完整性特性
11.1.1 数据类型定义
11.1.2 约束
11.1.3 触发器与存储过程
11.2 约束类型
11.2.1 NOT NULL
11.2.2 PRIMARY KEY
11.2.3 UNIQUE
11.2.4 FOREIGN KEY
11.2.5 CHECK
11.2.6 DEFAULT
11.2.7 REF约束
11.3 约束应用
11.3.1 AlterTable
11.3.2 约束状态
11.3.3 约束与索引
11.3.4 可延期的约束
11.3.5 直接路径操作
11.3.6 约束与导出/导入
11.3.7 对变异表触发器的影响
11.3.8 对视图的约束
11.3.9 将数据库约束用于应用程序端的规则检查
11.4 小结
第12章 其他数据库结构
12.1 表空间
12.1.1 临时表空间
12.1.2 撤消表空间
12.2 压缩
12.3 分区
12.4 视图
12.5 物化视图
12.6 序列
12.7 全局临时表
12.8 回收站
12.9 同义词
12.9.1 使用同义词的理由
12.9.2 同义词应用
12.10 数据库链接
12.11 Advanced Queuing与Streams技术
12.11.1 Streams AQ
12.11.2 Streams(流)
12.11.3 流小结
12.12 对象
12.13 存储过程、函数和触发器
12.14 访问普通文件
12.14.1 外部表
12.14.2 UTL_FILE
12.15 SGA缓冲池的分配
12.16 Workflow
12.17 Workspace Manager
12.18 小结
第13章 函数
13.1 函数的定义
13.2 自定义函数
13.2.1 函数的创建权限
13.2.2 函数的适用范围
13.2.3 定义Java函数
13.2.4 查看关于自定义函数的信息
13.2.5 删除函数
13.3 Oracle的内置SQL函数
13.3.1 聚集函数
13.3.2 数值函数
13.3.3 字符函数
13.3.4 日期与时间函数
13.3.5 转换函数
13.3.6 集合函数
13.3.7 其他Oracle函数
13.3.8 XML函数
13.4 小结
第14章 分布式查询、事务与数据库
14.1 链接分布式Oracle数据库
14.2 分布式事务和两阶段提交
14.3 同类服务
14.3.1 ODBC
14.3.2 透明网关
14.4 小结
第15章 PL/SQL基础
15.1 代码体系结构
15.1.1 块头标
15.1.2 声明节
15.1.3 执行节
15.1.4 异常节
15.1.5 异常处理方法
15.1.6 与错误相关的函数
15.1.7 作用域与表示法
15.2 PL/SQL语言
15.3 实现逻辑
15.3.1 条件逻辑
15.3.2 分支
15.3.3 循环
15.3.4 什么都不做
15.4 创建PL/SQL程序
15.4.1 示例过程的目标
15.4.2 开始编码
15.4.3 添加变量
15.4.4 添加逻辑
15.4.5 添加异常处理
15.5 使用PL/SQL代码
15.5.1 编译准备
15.5.2 编译PL/SQL代码
15.5.3 运行PL/SQL代码
15.5.4 编译、源代码与依赖性
15.6 安全性
15.6.1 授权对PL/SQL的访问
15.6.2 程序单元的权限
15.7 本机编译
15.8 使用PL/SQL程序单元
15.9 小结
第16章 PL/SQL与SQL
16.1 PL/SQL中的SQL基础知识
16.2 游标
16.2.1 创建游标
16.2.2 打开游标
16.2.3 取数据
16.2.4 关闭游标
16.2.5 游标属性
16.3 使用单个游标
16.3.1 声明变量
16.3.2 声明游标
16.3.3 打开游标
16.3.4 取数据
16.3.5 资源释放
16.3.6 运行过程
16.4 特殊数据类型
16.4.1 %TYPE
16.4.2 %ROWTYPE
16.5 FOR游标
16.5.1 语法
16.5.2 修改示例
16.6 隐式游标
16.7 REF游标
16.8 PL/SQL记录和集合
16.8.1 PL/SQL记录
16.8.2 PL/SQL记录与SQL
16.8.3 关联数组
16.8.4 嵌套表
16.8.5 可变数组
16.8.6 使用集合
16.8.7 集合操作
16.8.8 集合的适用性
16.9 BULK COLLECT
16.10 FORALL
16.10.1 语法
16.10.2 异常情形
16.10.3 FORALL的改进
16.11 动态SQL
16.11.1 EXECUTE IMMEDIATE
16.11.2 包含动态SQL的BULK操作
16.11.3 关于动态SQL的补充
16.12 小结
第17章 PL/SQL包
17.1 包的定义
17.2 包的作用
17.2.1 结构
17.2.2 可见性
17.2.3 作用域
17.2.4 依赖性
17.2 5 运行库内存的使用
17.2.6 Oracle的承诺
17.3 示例
17.3.1 包规范
17.3.2 包主体
17.3.3 运行示例
17.4 使用多个包
17.4.1 第2个包
17.4.2 包代码
17.4.3 修改第1个包
17.4.4 对第2个包的影响
17.5 小结
第18章 Java数据库编程简介
18.1 Java体系结构
18.1.1 Java:语言
18.1.2 Java虚拟机和字节码
18.1.3 性能
18.1.4 J2SE和J2EE
18.2 Oracle的Java体系结构
18.2.1 JDBC和持久性框架
18.2.2 数据库外Java
18.2.3 数据库内Java
18.3 构建示例应用程序
18.3.1 设置CLASSPATH
18.3.2 使用JDBC的Java应用程序——基本成分
18.3.3 使用OracleAS TopLink的Java应用程序
18.3.4 Java存储过程
18.4 小结
第19章 触发器
19.1 触发器的定义
19.1.1 触发器的类型
19.1.2 执行次序
19.2 使用触发器
19.2.1 命名触发器
19.2.2 创建触发器的权限
19.2.3 创建触发器
19.2.4 :new和:old
19.2.5 更新触发器
19.2.6 删除触发器
19.2.7 控制触发器激活的时机
19.2.8 插入或更新
19.3 特定环境
19.3.1 INSTEAD OF触发器
19.3.2 用于引用完整性的触发器
19.4 其他语言里的触发器
19.5 触发器和变异表
19.6 删除触发器
19.6.1 删除/卸载触发器
19.6.2 屏蔽触发器
19.6.3 重新编译触发器
19.7 在数据字典中查看触发器
19.8 触发器限制
19.9 小结
第20章 正则表达式和表达式过滤器
20.1 正则表达式
20.1.1 正则表达式概念
20.1.2 与数据库应用程序的相关性
20.1.3 Oracle正则表达式
20.1.4 使用场合
20.1.5 体系结构和性能
20.2 表达式过滤器
20.2.1 Expression Filter(表达式过滤器)概念
20.2.2 与数据库应用程序的关联
20.3 小结
第21章 对象关系与Oracle的交互
21.1 对象关系
21.2 Oracle对象介绍
21.2.1 对象类型
21.2.2 对象类型方法
21.2.3 对继承的支持
21.2.4 模式改进
21.2.5 UML概念的映射
2 1.3 使用Oracle对象类型
21.3.1 用作持久化对象类型的已存在Java类
21.3.2 在数据库中创建对象类型的实例
21.3.3 使用Java与数据库对象进行交互
21.4 关系数据上的对象视图
21.5 Oracle JPublisher(JPub)
21.5.1 配置和运行时
21.5.2 发布SQL和DML语句
21.5.3 发布Java存储过程
21.5.4 发布对象类型
21.5.5 对Web服务的支持
21.6 小结
第22章 Oracle XML DB
22.1 XML DB库简介
22.1.1 对Oracle库中的XML进行基于协议的访问
22.1.2 对Oracle库中的XML数据进行基于SQL的访问
22.1.3 使用XDB库启用新模式
22.1.4 Oracle XML库上基于ACL的安全
22.2 XMLType
22.2.1 创建XMLType列和表
22.2.2 XML视图
22.3 XML模式
22.4 SQ/XML和查询重写
22.5 SQL到XML
22.6 转换XML
22.7 内容管理示例
22.7.1 创建内容管理应用程序前端
22.7.2 数据库外的OracleXML——Oracle XDK
22.8 小结
第23章 HTML-DB
23.1 HTML-DB介绍
23.2 HTML-DB环境
23.3 安装HTML-DB
23.4 准备开发环境
23.4.1 创建工作区
23.4.2 创建应用程序开发人员
23.5 导入数据
23.6 创建应用程序
23.7 示例HTML-DB应用程序的功能
23.8 加入新页面
23.9 修改页面属性
23.10 运行应用程序
23.11 其他功能
23.12 下一步
23.13 小结
第24章 高速数据移动
24.1 Export/Import和“Data Dump”
24.2 Transportable Tablespaces
24.2.1 使用注意事项
24.2.2 Transportable Tablespaces示例
24.3 流
24.3.1 Streams的阶段和过程
24.3.2 配置和监视高级队列
24.4 小结
第25章 数据装载和管理
25.1 SQL*Loader
25.2 外部表数据库特性
25.2.1 定义外部表
25.2.2 从外部表进行装载
25.3 转换
25.4 改变数据捕获
25.5 分区和ETL的速度
25.6 Oracle Warehouse Builder
25.6.1 使用OWB的建立和部署步骤
25.6.2 使用OWB的例子
25.6.3 非关系型目标
25.7 小结
第26章 业务智能化查询
26.1 业务智能化模式
26.1.1 尺度和层次
26.1.2 创建尺度
26.2 摘要表和物化视图
26.2.1 使用SQL Access Advisor(Summary Advisor)
26.2.2 创建和编辑物化视图
26.3 通过SQL:Rollup和Cube进行聚合
26.4 复杂查询工作量的预管理
26.5 小结
第27章 业务智能化分析
27.1 SQL分析和统计
27.1.1 分阶和百分比划分
27.1.2 用于累积和移动聚合的Windows函数
27.1.3 迟延和领先分析
27.1.4 第一/最后分析
27.1.5 线性衰退和其他高级函数
27.2 OLAP
27.3 数据挖掘
27.4 小结
第28章 优化
28.1 优化的概念
28.2 Oracle优化器
28.3 优化器模式
28.3.1 不再支持的优化器模式
28.3.2 设置优化器模式
28.4 统计
28.4.1 统计和代价
28.4.2 统计类型
28.4.3 搜集统计信息
28.4.4 统计和改变
28.4.5 产品环境和测试环境
28.4.6 直方图
28.4.7 处理直方图
28.5 执行计划
28.5.1 执行计划
28.5.2 数据操作
28.6 执行统计
28.6.1 全面执行统计
28.6.2 详细统计
28.6.3 执行计划和统计示例
28.7 浏览执行计划和统计
28.7.1 AUTOTRACE
28.7.2 EXPLAIN PLAN
28.7.3 SQL Trace和TKPROF
28.7.4 Enterprise Manager
28.7.5 V$SQL_PLAN和V$SQL_PLAN_STATISTICS
28.8 提示
28.8.1 提示的语法
28.8.2 可用提示
28.8.3 并行操作提示
28.8.4 现在不要使用它们
28.9 存储概要
28.9.1 创建存储概要
28.9.2 使用存储概要
28.9.3 编辑存储概要
28.10 小结