内容简介
第1篇Oracle基础
第1章 认识关系型数据库
1.1理解数据库
1.1.1什么是关系型数据库
1.1.2实体关系模型
1.1.3关系型数据库管理系统RDBMS
1.1.4使用SQL语言管理数据库
1.2认识数据库范式
1.2.1什么是数据库范式
1.2.2第一范式1NF
1.2.3第二范式2NF
1.2.4第三范式3NF
1.3认识Oracle数据库系统
1.3.1 Oracle数据库特性
1.3.2 Oracle数据库管理员
1.3.3数据库管理员任务列表
1.3.4 Oracle数据库系统的组成
1.3.5与SQL Server数据库的比较
1.4安装Oracle数据库
1.4.1获取Oracle数据库软件
1.4.2使用Oracle技术与文档库
1.4.3安装Oracle数据库系统
1.4.4卸载Oracle数据库
1.5小结
第2章 创建和连接Oracle数据库
2.1创建Oracle数据库
2.1.1使用DBCA创建数据库
2.1.2使用静默方式创建数据库
2.1.3删除现有数据库
2.1.4手动安装数据库
2.2启动和停止Oracle数据库服务
2.2.1启动和停止监听程序
2.2.2启动数据库
2.2.3限制数据库的访问
2.2.4关闭数据库
2.3 Oracle客户端工具
2.3.1安装Oracle客户端
2.3.2客户端网络配置工具
2.3.3使用Oracle企业管理器
2.3.4使用SQLPlus
2.3.5使用Oracle SQL Developer
2.3.6使用PL/SQL Developer
2.3.7使用Toad
2.4小结
第3章SQL语言与SQLPlus
3.1 SQL语言基础
3.1.1 SQL、 SQLPlus与Oracle的关系
3.1.2 SQL 语言的特点
3.1.3 SQL语言的分类
3.1.4 SQL语言的编写规则
3.2认识SQLPlus
3.2.1 SQLPlus的功能
3.2.2启动SQL*Plus
3.2.3重新连接数据库
3.2.4 SQLPlus运行环境设置
3.2.5使用命令帮助
3.3操作数据库
3.3.1执行SQL与PL/SQL代码
3.3.2了解SQLPlus缓冲区
3.3.3运行脚本文件
3.3.4显示表结构
3.3.5使用替换变量
3.3.6运行操作系统命令
3.3.7断开和退出SQLPlus
3.4格式化查询结果
3.4.1格式化列
3.4.2清除列格式
3.4.3限制重复行
3.4.4使用汇总行
3.5小结
第4章 认识Oracle体系结构(教学视频:20分钟)
4.1 Oracle实例内存管理
4.1.1 Oracle内存结构
4.1.2系统全局区SGA
4.1.3程序全局区PGA
4.1.4数据库缓冲区高速缓存
4.1.5共享池
4.1.6重做日志缓冲区
4.1.7其他内存结构
4.2 Oracle实例进程结构
4.2.1用户进程与服务器进程
4.2.2 PMON与SMON进程
4.2.3 DBWn与LGWR进程
4.2.4 CKPT与ARCn进程
4.3小结
第2篇 管理方案对象
第5章 创建和管理表
5.1表和表列
5.1.1表和实体
5.1.2表的分类
5.1.3表和列命名规则
5.1.4列数据类型
5.2创建表
5.2.1使用设计器建表
5.2.2创建标准表
5.2.3全局临时表
5.2.4索引组织表
5.2.5使用外部表
5.2.6使用DUAL表
5.2.7数据字典中的表信息
5.3修改表
5.3.1添加表列
5.3.2使用虚拟列
5.3.3修改表列
5.3.4删除表列
5.3.5重命名表列
5.3.6重命名表
5.3.7删除数据表
5.4小结
第6章 索引和约束
6.1创建索引
6.1.1索引的作用
6.1.2索引的原理
6.1.3索引的分类
6.1.4创建B树索引
6.1.5创建位图索引
6.1.6创建函数索引
6.1.7修改索引
6.1.8重命名索引
6.1.9重建和合并索引
6.1.10不可见和不可用的索引
6.1.11索引的监控
6.1.12删除索引
6.1.13查看索引信息
6.1.14索引创建策略
6.1.15创建和管理索引的一般性指南
6.2创建约束
6.2.1理解约束
6.2.2主键约束
6.2.3外键约束
6.2.4级联关系
6.2.5外键与索引
6.2.6检查约束
6.2.7唯一性约束
6.3管理约束
6.3.1修改约束
6.3.2添加约束
6.3.3重命名约束
6.3.4删除约束
6.3.5约束的状态
6.3.6查询约束信息
6.4小结
第7章 视图(教学视频:28分钟)
7.1视图基础
7.1.1什么是视图
7.1.2视图的分类
7.1.3视图创建语法
7.1.4创建简单视图
7.1.5创建复杂视图
7.1.6视图的修改
7.1.7视图的删除
7.2内联视图
7.2.1什么是内联视图
7.2.2内联视图执行顺序
7.2.3内联视图与DML语句
7.3物化视图
7.3.1什么是物化视图
7.3.2创建物化视图
7.3.3修改物化视图
7.3.4删除物化视图
7.4小结
第8章 序列和同义词
8.1使用序列
8.1.1序列的作用
8.1.2创建自增序列
8.1.3 NEXTVAL和CURRVAL伪列
8.1.4修改序列
8.1.5删除序列
8.1.6查看序列
8.2使用同义词
8.2.1同义词的作用
8.2.2创建和使用同义词
8.2.3删除同义词
8.2.4查看同义词
8.3小结
第3篇 使用SQL语言
第9章 SQL查询
9.1基本查询
9.1.1 SELECT语法
9.1.2查询指定列数据
9.1.3用DISTINCT去除重复值
9.1.4表达式查询
9.1.5使用WHERE限制返回的行
9.1.6 BETWEEN、IN和LIKE范围查询
9.1.7处理NULL列值
9.1.8 AND、 OR、 NOT逻辑运算符
9.1.9使用ORDER BY排序
9.1.10 ROWNUM伪列
9.1.11 ROWID伪列
9.1.12使用CASE表达式
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 UNION联合运算与UNION ALL全联合运算
9.3.3 INTERSECT交集运算
9.3.4 MINUS差集运算
9.3.5理解子查询
9.3.6非相关子查询
9.3.7单行单列子查询
9.3.8多行单列子查询
9.3.9相关子查询
9.4分组查询
9.4.1理解分组查询
9.4.2分组函数
9.4.3使用GROUP BY子句分组
9.4.4使用HAVING子句限制结果集
9.4.5使用ROLLUP和CUBE
9.4.6使用GROUPING SETS子句
9.5小结
第10章 操作数据表
10.1插入数据
10.1.1理解DML语言
10.1.2使用INSERT语句
10.1.3插入默认值和空值
10.1.4使用子查询插入多行数据
10.1.5插入多表数据
10.2更新数据
10.2.1使用UPDATE语句
10.2.2使用子查询更新多行记录
10.2.3使用RETURNING子句
10.3删除数据
10.3.1使用DELETE语句
10.3.2使用子查询删除记录
10.3.3使用TRUNCATE清空表数据
10.3.4使用MERGE合并数据表
10.4小结
第11章Oracle内置函数
11.1函数基础
11.1.1函数的作用
11.1.2函数的分类
11.2字符型函数
11.2.1字符型函数列表
11.2.2 ASCII和CHR函数
11.2.3大小写转换函数
11.2.4字符串处理函数
11.2.5字符串替代函数
11.3数字型函数
11.3.1数字型函数列表
11.3.2 ABS和MOD函数
11.3.3 CEIL和FLOOR函数
11.3.4 ROUND和TRUNC函数
11.4日期时间函数
11.4.1日期时间函数列表
11.4.2日期时间函数使用示例
11.4.3使用EXTRACT截取日期信息
11.5类型转换函数
11.5.1类型转换函数列表
11.5.2 TO CHAR字符串转换函数
11.5.3 TO DATE日期转换函数
11.5.4 TO NUMBER数字转换函数
11.6通用函数
11.6.1通用函数列表
11.6.2 NVL和NVL2函数
11.6.3 NULLIF和COALESCE函数
11.6.4 DECODE函数
11.6.5 SYS GUID函数
11.7小结
第4篇PL/SQL编程
第12章 使用PL/SQL创建Oracle程序
12.1 PL/SQL基础
12.1.1过程化程序设计
12.1.2与SQL语言整合
12.1.3提高程序性能
12.1.4模块化应用程序开发
12.1.5面向对象的开发
12.2 PL/SQL语言概览
12.2.1 PL/SQL块
12.2.2嵌套块
12.2.3变量和数据类型
12.2.4程序控制语句
12.2.5条件判断语句
12.2.6循环控制语句
12.2.7顺序控制语句
12.2.8存储过程、函数与包
12.2.9触发器简介
12.2.10结构化异常处理
12.2.11集合与记录
12.2.12游标基础
12.3小结
第13章 子程序和包
13.1定义子程序
13.1.1什么是子程序
13.1.2子程序的调试
13.1.3创建过程
13.1.4创建函数
13.1.5使用RETURN语句
13.1.6管理子程序
13.1.7在SQL语句中使用函数
13.2子程序参数
13.2.1形式参数与实际参数
13.2.2 IN、 OUT和IN OUT模式
13.2.3参数调用方式
13.2.4形式参数的约束
13.2.5使用NOCOPY编译提示
13.2.6参数默认值
13.3定义PL/SQL包
13.3.1什么是包(Package)
13.3.2定义包规范
13.3.3定义包体
13.3.4子程序重载
13.3.5调用包组件
13.3.6重新编译包
13.3.7查看包的源代码
13.4小结
第14章 记录与集合
14.1使用PL/SQL记录
14.1.1什么是记录
14.1.2定义记录类型
14.1.3记录类型赋值
14.1.4使用记录
14.2使用集合类型
14.2.1集合的分类
14.2.2定义关联数组
14.2.3操作关联数组
14.2.4定义嵌套表
14.2.5操作嵌套表
14.2.6数据库中的嵌套表
14.2.7定义变长数组
14.2.8操作变长数组
14.2.9数据库中的变长数组
14.3小结
第15章 触发器和游标
15.1理解触发器
15.1.1触发器的作用
15.1.2定义触发器
15.1.3触发器的分类
15.2 DML触发器
15.2.1触发器的执行顺序
15.2.2定义DML触发器
15.2.3使用条件谓词
15.2.4使用OLD和NEW伪记录
15.2.5使用REFERENCING子句
15.2.6使用WHEN子句
15.2.7触发器的异常处理
15.2.8理解自治事务
15.3 INSTEAD OF替代触发器
15.3.1什么是替代触发器
15.3.2定义替代触发器
15.3.3 UPDATE和DELETE替代触发器
15.4系统事件触发器
15.4.1定义系统触发器
15.4.2使用DDL触发器
15.4.3使用数据库触发器
15.4.4 SERVERERROR触发器
15.5游标
15.5.1什么是游标
15.5.2定义游标
15.5.3打开游标
15.5.4提取游标数据
15.5.5关闭游标
15.6小结
第16章 异常处理机制
16.1理解异常处理
16.1.1异常处理简介
16.1.2异常处理语法
16.1.3预定义异常
16.2自定义异常
16.2.1声明异常
16.2.2异常的作用域范围
16.2.3使用EXCEPTION INIT编译指令
16.2.4使用RAISE语句
16.2.5使用RAISE APPLICATION ERROR
16.3处理异常
16.3.1使用WHEN子句
16.3.2使用OTHERS异常处理器
16.3.3使用SQLCODE和SQLERRM
16.4小结
第17章 动态SQL语句
17.1理解动态SQL语句
17.1.1动态SQL基础
17.1.2动态SQL使用时机
17.1.3本地动态SQL
17.2使用 EXECUTE IMMEDIATE
17.2.1 EXECUTE IMMEDIATE语法
17.2.2执行SQL语句和PL/SQL语句块
17.2.3使用绑定变量
17.2.4使用RETURNING INTO子句
17.2.5使用INTO子句
17.2.6指定参数模式
17.3多行查询语句
17.3.1使用OPEN FOR语句
17.3.2使用FETCH语句
17.3.3关闭游标变量
17.4使用动态批量绑定
17.4.1使用EXECUTE IMMEDIATE批量绑定
17.4.2使用批量FETCH语句
17.4.3使用批量FORALL语句
17.5动态SQL的性能优化技巧
17.5.1用绑定变量改善性能
17.5.2重复的绑定占位符
17.5.3传递NULL参数
17.5.4动态SQL异常处理
17.6小结
第18章 事务和锁
18.1使用Oracle事务
18.1.1事务的特性
18.1.2使用COMMIT提交事务
18.1.3使用ROLLBACK回滚事务
18.1.4使用SAVEPOINT保存点
18.1.5事务的隔离级别
18.1.6使用SET TRANSACTION设置事务属性
18.2使用Oracle锁
18.2.1什么是锁
18.2.2使用锁
18.2.3 DML锁
18.2.4 DDL锁
18.2.5死锁
18.2.6使用LOCK TABLE语句
18.3小结
第5篇Oracle维护
第19章 数据库安全性管理
19.1用户管理
19.1.1用户与方案简介
19.1.2创建用户
19.1.3修改用户
19.1.4删除用户
19.1.5用户概要文件
19.1.6查询用户信息
19.2权限管理
19.2.1理解权限
19.2.2分配权限
19.2.3撤销权限
19.2.4查看权限
19.3角色管理
19.3.1角色简介
19.3.2创建角色
19.3.3分配权限
19.3.4管理角色
19.3.5查看角色
19.4小结
第20章 数据库空间管理
20.1理解表空间
20.1.1表空间概述
20.1.2表空间分类
20.1.3表空间的创建
20.1.4创建普通表空间
20.1.5创建大文件表空间
20.1.6创建临时表空间
20.1.7创建撤销表空间
20.2管理表空间
20.2.1调整表空间大小
20.2.2调整脱机和联机状态
20.2.3调整只读和只写状态
20.2.4更改表空间名称
20.2.5删除表空间
20.2.6查询表空间信息
20.3小结
第21章 数据库文件管理
21.1管理控制文件
21.1.1控制文件的重要性
21.1.2创建控制文件
21.1.3多路复用控制文件
21.1.4备份/恢复控制文件
21.1.5删除控制文件
21.1.6查看控制文件信息
21.2管理数据文件
21.2.1理解数据文件
21.2.2创建数据文件
21.2.3改变数据文件的大小
21.2.4改变数据文件的可用性
21.2.5改变数据文件的位置和名称
21.2.6查询数据文件信息
21.3管理重做日志文件
21.3.1重做记录
21.3.2重做日志文件
21.3.3重做日志组
21.3.4日志切换和日志序列号
21.3.5归档重做日志文件
21.3.6多路复用重做日志文件
21.3.7创建重做日志组和成员
21.3.8删除重做日志组和成员
21.3.9更改组成员的位置或名称
21.3.10清除重做日志文件
21.3.11查看重做日志文件信息
21.4小结
第22章 备份和恢复数据库(教学视频:49分钟)
22.1理解备份与恢复
22.1.1什么是备份与恢复
22.1.2备份与恢复的方法
22.2使用RMAN(恢复管理器)
22.2.1设置归档日志模式
22.2.2认识RMAN
22.2.3连接到RMAN
22.2.4 RMAN的基本操作
22.2.5完整数据库备份
22.2.6备份表空间和数据库文件
22.2.7理解RMAN命令
22.2.8创建增量备份
22.2.9恢复数据库
22.2.10恢复表空间和数据库文件
22.2.11使用恢复目录
22.3小结
第6篇PL/SQL案例实战
第23章 基于PL/SQL物料报表程序
23.1系统设计
23.1.1物料清单BOM简介
23.1.2需求分析
23.1.3系统流程
23.1.4数据表ER关系图
23.1.5 Oracle开发环境的搭建
23.2系统编码实现
23.2.1创建包规范
23.2.2获取物料成本单价
23.2.3层次化展开物料清单
23.2.4编制BOM成本报表
23.2.5定义调用主程序
23.3小结
第24章 PL/SQL采购订单分析程序
24.1系统设计
24.1.1采购订单分析简介
24.1.2需求分析
24.1.3系统流程
24.1.4数据表E-R流程
24.1.5创建Oracle数据表
24.2系统编码实现
24.2.1创建包规范
24.2.2获取采购订单和订单行数据
24.2.3采购分析程序实现
24.2.4设置订单行的周范围信息
24.2.5定义调用主程序
24.3小结