内容简介
第1篇 Oracle数据库基础篇
第1章 数据库概述
1.1 数据库简介
1.1.1 数据库的常见术语
1.1.2 主流数据库对比
1.1.3 Oracle数据库的优势
1.2 第一次安装Oracle数据库
1.2.1 Oracle数据库的版本变迁
1.2.2 下载Oracle安装文件
1.2.3 安装Oracle
1.2.4 安装中需要注意的问题
1.3 小结
第2章 Oracle的管理工具
2.1 Oracle企业管理器
2.2 Oracle网络配置助手
2.2.1 监听程序配置
2.2.2 本地网络服务名配置
2.3 Oracle网络管理器
2.3.1 监听器配置(LISTENER)
2.3.2 本地服务名配置
2.4 使用SQL Plus工具
2.4.1 登录SQL Plus
2.4.2 利用SQL Plus执行数据库操作
2.4.3 利用SQL Plus解决数据库管理员密码丢失问题
2.5 使用SQL Developer集成开发环境
2.5.1 登录SQL Developer
2.5.2 SQL Developer操作
2.6 小结
第3章 Oracle数据库基本操作
3.1 数据库的创建
3.2 数据库的删除
3.2.1 删除数据库
3.2.2 修改注册表
3.3 安装示例数据库
3.4 小结
第4章 Oracle数据表基本操作
4.1 Oracle中的数据类型
4.2 创建数据表
4.2.1 设计数据表
4.2.2 利用OEM创建数据表
4.2.3 利用工具创建数据表
4.2.4 利用命令创建数据表
4.3 修改表结构
4.3.1 利用OEM修改数据表结构
4.3.2 利用工具修改数据表结构
4.3.3 利用命令查看、修改数据表结构
4.4 删除数据表
4.4.1 利用OEM删除数据表
4.4.2 利用工具删除数据表
4.4.3 利用drop命令删除数据表
4.5 操作数据表中的数据
4.5.1 添加数据
4.5.2 查看数据
4.5.3 修改数据
4.5.4 删除数据
4.6 特殊的数据表dual
4.7 小结
第5章 约束
5.1 什么是约束
5.2 主键约束
5.2.1 什么是主键
5.2.2 利用命令添加主键约束
5.2.3 主键使用场景
5.2.4 修改主键约束
5.2.5 删除主键约束
5.2.6 主键与索引
5.3 外键约束
5.3.1 什么是外键
5.3.2 添加外键约束
5.3.3 验证外键约束
5.3.4 修改外键约束
5.3.5 使用SQL Developer添加、删除外键约束
5.3.6 外键使用场景
5.4 唯一性约束(UNIQUE约束)
5.4.1 什么是唯一性约束
5.4.2 添加唯一性约束
5.4.3 验证唯一性约束
5.4.4 修改唯一性约束
5.4.5 使用SQL Developer添加、删除唯一性约束
5.4.6 唯一性约束使用场景
5.5 检查约束
5.5.1 什么是检查约束
5.5.2 添加检查约束
5.5.3 验证检查约束
5.5.4 修改检查约束
5.5.5 使用SQL Developer添加、删除检查约束
5.5.6 检查约束使用场景
5.6 非空约束(not null约束)
5.6.1 为列添加非空约束
5.6.2 撤销非空约束
5.7 默认约束
5.7.1 为列添加默认(default)约束
5.7.2 删除默认(default)约束
5.8 小结
第2篇 Oracle数据库对象篇
第6章 简单查询
6.1 基本查询
6.1.1 select查询语句
6.1.2 选取指定字段
6.1.3 选取全部字段(*)
6.1.4 为列设置别名
6.1.5 利用distinct获得唯一性记录
6.1.6 返回查询的部分结果
6.2 简单条件查询
6.2.1 使用where子句判断条件
6.2.2 在查询中使用比较表达式
6.2.3 使用简单逻辑表达式查询
6.2.4 指定数据范围的查询
6.2.5 有关null值的判断
6.2.6 使用like进行模糊查询
6.2.7 使用order by子句先排序再查询
6.2.8 使用group by子句进行分组统计
6.2.9 使用having子句限制搜索条件
6.3 小结
第7章 高级查询
7.1 多个表的连接
7.1.1 什么是连接
7.1.2 连接的类型
7.1.3 如何实现多表查询
7.1.4 指定多表连接的条件
7.1.5 使用别名作为表名的简写
7.1.6 自连接
7.2 表的连接查询
7.2.1 自然连接
7.2.2 内连接
7.2.3 外连接
7.3 单表中的联合语句
7.3.1 使用union取得并集
7.3.2 使用union all查询
7.3.3 使用intersect查询获取交集
7.3.4 使用minus查询
7.4 子查询
7.4.1 什么是子查询
7.4.2 使用子查询
7.4.3 子查询的使用方式
7.4.4 比较运算符引入子查询
7.4.5 子查询中的聚合函数
7.4.6 在子查询中使用in、all关键字
7.4.7 在子查询中使用exists关键字
7.5 查询语句优化
7.5.1 在查询中尽量不使用“*”
7.5.2 多表查询中尽量使用表别名
7.5.3 条件查询多使用where
7.5.4 指定查询范围多使用in
7.5.5 子查询中多使用exists语句判断条件
7.6 小结
第8章 常用函数
8.1 聚合函数
8.1.1 计数函数count()
8.1.2 求和函数sum()
8.1.3 均值函数avg()
8.1.4 最大值max()和最小值min()
8.2 数学函数
8.2.1 Oracle中的数值型
8.2.2 绝对值、取余、判断数值正负
8.2.3 近似值函数、截取、取整函数
8.2.4 平方根、乘方运算函数
8.2.5 格式化数值——to_char()函数
8.3 字符串函数
8.3.1 字符型简介
8.3.2 删除空格
8.3.3 求字符串长度函数
8.3.4 字符转换函数
8.3.5 连接字符串
8.3.6 检索字符串、取子串函数
8.4 日期函数
8.4.1 获取日期和时间的函数
8.4.2 返回特定日期所在月的最后一天——last_day()函数
8.4.3 月份增加——add_months()函数
8.4.4 两个日期之间的月份——months_between()函数
8.4.5 特定日期之后的一周之内的日期——next_day()函数
8.5 转换函数
8.5.1 类型转换——cast()函数
8.5.2 将数值或日期转换为字符串——to_char()函数
8.5.3 字符转数值——to_number()函数
8.5.4 字符转日期——to_date()函数
8.6 使用nvl()函数对空值进行处理
8.7 小结
第9章 索引
9.1 什么是索引
9.2 创建索引的方法
9.2.1 何时创建索引
9.2.2 使用工具创建索引
9.2.3 使用OEM创建索引
9.2.4 使用语句创建索引
9.2.5 创建索引的注意事项
9.3 修改索引
9.3.1 使用工具修改索引
9.3.2 使用OEM修改索引
9.3.3 使用语句修改索引
9.4 删除索引
9.4.1 使用SQL Developer工具删除索引
9.4.2 使用OEM删除索引
9.4.3 使用语句删除索引
9.5 小结
第10章 视图
10.1 Oracle视图
10.1.1 什么是视图
10.1.2 视图的作用
10.1.3 视图的分类
10.2 关系视图创建和使用
10.2.1 使用语句创建视图
10.2.2 使用SQL Developer创建视图
10.2.3 使用OEM创建视图
10.2.4 查看及操作访问视图
10.2.5 使用SQL Developer工具访问视图
10.3 内嵌视图的创建和使用
10.4 视图的修改
10.4.1 使用语句修改视图
10.4.2 使用SQL Developer工具修改视图
10.4.3 使用OEM修改视图
10.5 视图的删除
10.5.1 使用语句删除视图
10.5.2 使用SQL Developer工具删除视图
10.5.3 使用OEM删除视图
10.6 小结
第11章 Oracle编程基础
11.1 PL/SQL是种语言
11.1.1 PL/SQL基本结构
11.1.2 PL/SQL注释
11.1.3 PL/SQL基本规则
11.1.4 PL/SQL数据类型
11.1.5 PL/SQL运算符
11.1.6 PL/SQL表达式
11.1.7 PL/SQL中变量、常量的定义与使用
11.2 PL/SQL中定义类型
11.2.1 记录类型
11.2.2 集合类型
11.3 Oracle中的条件控制语句
11.3.1 流程控制——if判断
11.3.2 流程控制——case when分支
11.4 Oracle中的循环语句
11.4.1 无条件循环
11.4.2 while循环
11.4.3 for循环
11.5 小结
第12章 游标
12.1 什么是游标
12.1.1 游标的基本原理
12.1.2 游标的种类
12.2 显式游标
12.2.1 创建显式游标步骤
12.2.2 游标中的loop语句
12.2.3 使用bulk collect和for语句的游标
12.2.4 使用for loop语句
12.2.5 为游标传递参数
12.2.6 显式游标的属性
12.3 隐式游标
12.3.1 隐式游标的特点
12.3.2 隐式游标的属性
12.3.3 使用SQL隐式游标
12.3.4 使用cursor for隐式游标
12.4 动态(REF)游标
12.4.1 强类型动态游标
12.4.2 弱类型动态游标
12.5 小结
第13章 存储过程
13.1 存储过程简介
13.1.1 认识存储过程
13.1.2 存储过程的作用
13.2 创建存储过程和执行
13.2.1 创建存储过程
13.2.2 有参数的存储过程
13.2.3 创建包含in参数的存储过程
13.2.4 在存储过程中为in参数赋值
13.2.5 重建带输入参数的存储过程
13.2.6 执行存储过程
13.2.7 创建一个带out参数的存储过程并执行
13.2.8 创建包含in参数、out参数的存储过程
13.2.9 in/out参数
13.3 SQL Developer工具创建存储过程
13.3.1 创建存储过程
13.3.2 调试存储过程
13.4 管理存储过程
13.4.1 修改存储过程
13.4.2 重新编译存储过程
13.4.3 删除存储过程
13.5 小结
第14章 函数
14.1 自定义函数
14.1.1 创建自定义函数
14.1.2 带参数的函数
14.1.3 行转列函数
14.1.4 使用SQL Developer创建函数
14.1.5 管理函数
14.2 程序包
14.2.1 程序包说明
14.2.2 创建包说明
14.2.3 在数据字典中查看规范的信息
14.2.4 程序包包体
14.2.5 调用程序包中的函数/存储过程
14.2.6 删除程序包
14.3 小结
第15章 触发器
15.1 触发器简介
15.1.1 认识触发器
15.1.2 触发器类型
15.1.3 触发器作用
15.2 DML触发器
15.3 语句级触发器
15.3.1 创建语句触发器
15.3.2 触发器的作用对象与类型
15.3.3 多个激活动作
15.3.4 触发器谓词
15.4 行触发器
15.4.1 创建和使用行触发器
15.4.2 行触发器的变量引用
15.4.3 变量引用与referencing
15.4.4 触发器的执行顺序
15.4.5 触发器的条件限制
15.5 instead of触发器
15.5.1 instead of触发器简介
15.5.2 创建和使用instead of触发器
15.6 DDL触发器
15.7 系统事件与用户事件触发器
15.7.1 系统事件触发器
15.7.2 用户事件触发器
15.8 使用SQL Developer工具操作触发器
15.9 管理触发器
15.9.1 查看触发器
15.9.2 设置触发器是否可用
15.10 小结
第16章 序列
16.1 自动生成序号
16.2 创建和使用序列
16.2.1 创建序列
16.2.2 使用序列
16.3 小结
第17章 事务与锁
17.1 什么是事务
17.1.1 事务的由来
17.1.2 事务的ACID特性
17.1.3 事务类型
17.1.4 事务的状态
17.1.5 提交事务
17.1.6 事务的保存点
17.2 锁
17.2.1 并发访问的常见问题
17.2.2 锁的由来
17.2.3 锁分类
17.2.4 锁等待和死锁
17.2.5 预防死锁
17.3 小结
第3篇 Oracle数据库管理篇
第18章 表空间的管理
18.1 Oracle 11g的基础结构
18.1.1 模式
18.1.2 存储结构
18.1.3 表空间相关概念
18.2 表空间管理
18.2.1 查看表空间
18.2.2 创建表空间
18.2.3 重命名表空间
18.2.4 设置表空间的状态
18.3 合理利用表空间
18.3.1 处理空间不足的情况
18.3.2 正确的数据类型
18.3.3 回收利用表空间
18.4 小结
第19章 用户与权限
19.1 Oracle数据库安全性概述
19.2 用户
19.2.1 Oracle下的用户简介
19.2.2 创建用户
19.2.3 修改用户
19.2.4 删除用户
19.3 权限
19.3.1 Oracle下的权限简介
19.3.2 授予系统权限
19.3.3 授予对象权限
19.3.4 权限的传递
19.3.5 收回对象的权限
19.3.6 用户和权限
19.4 角色
19.4.1 Oracle下的角色简介
19.4.2 创建角色
19.4.3 为角色授权
19.4.4 将一个角色授予另一个角色
19.4.5 为用户授予角色
19.4.6 禁用和启用角色
19.4.7 撤销角色权限
19.4.8 删除角色
19.5 小结
第20章 备份与恢复
20.1 了解数据库的备份与恢复
20.2 逻辑备份与恢复
20.2.1 使用expdp和impdp工具进行逻辑备份恢复
20.2.2 使用OEM进行逻辑备份恢复
20.3 脱机备份
20.3.1 Oracle下的脱机备份
20.3.2 Oracle下的脱机恢复
20.4 小结
附录篇
注:以下内容读者可在本书附赠光盘中学习使用。
附录A 序列属性
附录A.1 创建序列的注意事项
附录A.2 指定序列初始值
附录A.3 序列的最大值和最小值
附录A.4 序列的增长步长
附录A.5 序列循环取值
附录A.6 序列缓存大小
附录B 概要文件
附录B.1 创建概要文件
附录B.2 修改概要文件
附录B.3 删除概要文件
附录C 联机备份与数据恢复
附录C.1 使用RAMN实现联机备份与恢复
附录C.2 恢复之前的备份
附录D 控制文件和日志文件
附录D.1 控制文件
附录D.1.1 查询控制文件
附录D.1.2 创建控制文件
附录D.2 日志文件
附录D.2.1 使用企业管理器创建日志文件组
附录D.2.2 使用语句的方法添加日志文件
附录D.2.3 查询日志文件组
附录D.2.4 查询日志文件
附录D.3 小结