内容简介
第1章 Oracle 11g关系数据库
1.1 关系数据模型
1.1.1 数据结构
1.1.2 关系的完整性约束
1.1.3 关系数据模型的特点
1.2 关系数据库的范式理论
1.2.1 第一范式
1.2.2 第二范式
1.2.3 第三范式
1.3 实体-关系模型
1.3.1 E-R模型的概念
1.3.2 E-R图的绘制
1.3.3 将E-R模型转化为关系模型
1.4 Oracle 11g的下载和安装
1.4.1 下载和安装Oracle 11g
1.4.2 Oracle服务管理
1.5 创建数据库
1.6 Oracle默认用户
1.7 使用OEM
1.8 扩展练习
第2章 Oracle数据库的体系结构
2.1 物理存储结构
2.1.1 数据文件
2.1.2 控制文件
2.1.3 重做日志文件
2.1.4 其他文件
2.2 逻辑存储结构
2.2.1 表空间
2.2.2 段
2.2.3 区
2.2.4 块
2.3 Oracle数据库的实例结构
2.3.1 Oracle进程结构
2.3.2 Oracle内存结构
2.4 数据字典
2.4.1 Oracle数据字典介绍
2.4.2 常用数据字典
2.5 扩展练习
第3章 使用SQL*Plus工具
3.1 SQL*Plus概述
3.1.1 SQL*Plus的主要功能
3.1.2 SQL*Plus连接与断开数据库
3.2 使用SQL*Plus命令
3.2.1 使用DESCRIBE命令查看表结构
3.2.2 执行SQL脚本
3.2.3 使用SAVE命令保存缓冲区内容到文件
3.2.4 使用GET命令读取脚本文件到缓冲区
3.2.5 使用EDIT命令编辑缓冲区内容或文件
3.2.6 使用SPOOL命令复制输出结果到文件
3.3 变量
3.3.1 临时变量
3.3.2 定义变量
3.4 练习3-1:使用多个变量动态获取部门信息
3.5 格式化查询结果
3.5.1 格式化列
3.5.2 设置每页显示的数据行
3.5.3 设置每行显示的字符数
3.6 创建简单报表
3.6.1 报表的标题设计
3.6.2 统计数据
3.7 练习3-2:使用报表统计各部门的最高工资
3.8 扩展练习
第4章 管理表空间
4.1 基本表空间
4.1.1 创建Oracle基本表空间
4.1.2 使用表空间
4.1.3 管理表空间
4.2 练习4-1:创建并修改表空间tablespace
4.3 临时表空间
4.3.1 创建临时表空间
4.3.2 修改临时表空间
4.3.3 临时表空间组
4.4 大文件表空间
4.5 非标准数据块表空间
4.6 撤销表空间
4.6.1 管理撤销表空间的方式
4.6.2 创建与管理撤销表空间
4.7 练习4-2:管理撤销表空间
4.8 扩展练习
第5章 表
5.1 创建表
5.1.1 数据类型
5.1.2 创建Oracle数据表
5.1.3 指定表空间
5.1.4 指定存储参数
5.2.1 指定重做日志
5.2 练习5-1:创建图书信息表
5.3 修改数据表
5.3.1 增加和删除列
5.3.2 更新列
5.3.3 重命名表
5.3.4 改变表的存储表空间和存储参数
5.3.5 删除表定义
5.4 练习5-2:修改会员信息表
5.5 表的完整性约束
5.5.1 约束的分类和定义
5.5.2 NOTNULL约束
5.5.3 PRIMARYKEY约束
5.5.4 UNIQUE约束
5.5.5 CHECK约束
5.5.6 FOREIGN KEY约束
5.5.7 DISABLE和ENABLE约束
5.6 练习5-3:创建学生信息表和班级表
5.7 扩展练习
第6章 控制文件与日志文件的管理
6.1 管理控制文件
6.1.1 控制文件概述
6.1.2 创建控制文件
6.1.3 备份控制文件
6.1.4 恢复控制文件
6.1.5 控制文件的移动与删除
6.1.6 查看控制文件信息
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.3.7 查看归档日志信息
6.4 练习6-1:恢复非归档模式下的控制文件和日志文件
6.5 练习6-2:恢复单个控制文件
6.6 扩展练习
第7章 SQL基础
7.1 基本查询
7.1.1 查询语句——SELECT
7.1.2 指定过滤条件——WHERE子句
7.1.3 获取唯一记录——DISTINCT
7.1.4 分组——GROUP BY子句
7.1.5 过滤分组——HAVING子句
7.1.6 排序——ORDER BY子句
7.2 其他DML语句
7.2.1 插入数据——INSERT操作
7.2.2 更新数据——UPDATE操作
7.2.3 删除数据——DELETE操作
7.2.4 合并数据——MERGE操作
7.3 基本函数
7.3.1 字符串函数
7.3.2 数值函数
7.3.3 日期函数
7.3.4 聚合函数
7.4 数据一致性与事务管理
7.4.1 Oracle中的数据一致性与事务
7.4.2 Oracle中的事务处理
7.4.3 事务处理原则
7.5 练习7-1:学生信息表的合并
7.6 练习7-2:统计各个部门最近一个月的入职人数
7.7 练习7-3:打印各个部门的员工工资详情
7.8 练习7-4:统计各个部门员工的最高工资
7.9 扩展练习
第8章 子查询与高级查询
8.1 子查询
8.1.1 子查询类型
8.1.2 实现单行子查询
8.1.3 实现多列子查询
8.1.4 实现多行子查询
8.1.5 实现关联子查询
8.1.6 实现嵌套子查询
8.2 连接查询
8.2.1 使用等号(=)实现多个表的简单连接查询
8.2.2 使用INNER JOIN实现多个表的内连接
8.2.3 使用OUTER JOIN实现多个表的外连接
8.3 使用集合操作符
8.3.1 求并集(记录唯一)——UNION运算
8.3.2 求并集——UNION ALL运算
8.3.3 求交集——INTERSECT运算
8.3.4 求差集——MINUS运算
8.4 练习8-1:统计工资最高的第6到第10位之间的员工
8.5 练习8-2:统计不同工资范围内的员工人数
8.6 练习8-3:获取平均工资最高的部门信息
8.7 练习8-4:获取部门编号为100的所有员工信息
8.8 扩展练习
第9章 PL/SQL基础
9.1 PL/SQL概述
9.1.1 PL/SQL语言特点
9.1.2 PL/SQL代码编写规则
9.2 PL/SQL编程结构
9.2.1 PL/SQL程序块的基本结构
9.2.2 PL/SQL数据类型
9.2.3 变量和常量
9.2.4 复合数据类型
9.2.5 运算符与表达式
9.2.6 PL/SQL注释
9.3 条件选择语句
9.3.1 IF条件选择语句
9.3.2 CASE表达式
9.4 循环语句
9.4.1 LOOP循环语句
9.4.2 WHILE循环语句
9.4.3 FOR循环语句
9.5 练习9-1:打印九九乘法口诀表
9.6 游标
9.6.1 声明游标
9.6.2 打开游标
9.6.3 检索游标
9.6.4 关闭游标
9.6.5 游标属性
9.6.6 简单游标循环
9.6.7 游标FOR循环
9.6.8 使用游标更新或删除数据
9.7 异常
9.7.1 异常处理
9.7.2 预定义异常
9.7.3 非预定义异常
9.7.4 自定义异常
9.8 练习9-2:更新员工工资
9.9 练习9-3:获取指定部门下的所有员工信息
9.10 扩展练习
第10章 PL/SQL高级应用
10.1 存储过程
10.1.1 创建与调用存储过程
10.1.2 存储过程的参数
10.1.3 修改与删除存储过程
10.1.4 查看存储过程的定义信息
10.2 练习10-1:添加学生
10.3 函数
10.3.1 函数的基本操作
10.3.2 函数的参数
10.4 练习10-2:计算指定部门编号的员工平均工资
10.5 触发器
10.5.1 触发器的类型
10.5.2 创建触发器
10.5.3 DML触发器
10.5.4 INSTEAD OF触发器
10.5.5 数据库事件触发器
10.5.6 DDL触发器
10.5.7 触发器的基本操作
10.6 练习10-3:使用触发器自动为主键列赋值
10.7 程序包
10.7.1 程序包的优点
10.7.2 程序包的定义
10.7.3 调用程序包中的元素
10.7.4 删除程序包
10.8 练习10-4:管理员工工资
10.9 扩展练习
第11章 其他模式对象
11.1 索引
11.1.1 索引的类型
11.1.2 指定索引选项
11.1.3 创建B树索引
11.1.4 创建位图索引
11.1.5 创建反向键索引
11.1.6 创建基于函数的索引
11.1.7 管理索引
11.2 练习11-1:为产品表创建索引并管理
11.3 临时表
11.3.1 临时表的特点
11.3.2 创建与使用临时表
11.4 视图
11.4.1 创建视图
11.4.2 可更新的视图
11.4.3 删除视图
11.5 练习11-2:为customer表创建视图并修改
11.6 序列
11.6.1 创建序列
11.6.2 修改序列
11.6.3 删除序列
11.7 练习11-3:为用户注册表创建序列
11.8 同义词
11.9 扩展练习
第12章 用户角色、权限与安全
12.1 用户和模式
12.1.1 用户
12.1.2 模式
12.2 管理用户
12.2.1 创建用户
12.2.2 修改用户
12.2.3 删除用户
12.2.4 管理用户会话
12.3 用户配置文件
12.3.1 创建用户配置文件
12.3.2 使用配置文件
12.3.3 查看配置文件信息
12.3.4 修改与删除配置文件
12.4 权限
12.4.1 系统权限
12.4.2 对象权限
12.5 角色
12.5.1 角色概述
12.5.2 系统预定义角色
12.5.3 创建角色
12.5.4 为角色授予权限
12.5.5 修改用户的默认角色
12.5.6 管理角色
12.5.7 查看角色信息
12.6 练习12-1:创建用户并修改密码
12.7 练习12-2:为新用户newuser创建配置文件
12.8 练习12-3:为新用户newuser创建对象权限
12.9 扩展练习
第13章 SQL语句优化
13.1 一般的SQL语句优化技巧
13.1.1 SELECT语句中避免使用“*”
13.1.2 WHERE条件的合理使用
13.1.3 使用TRUNCATE替代DELETE
13.1.4 在确保完整性的情况下多用COMMIT语句
13.1.5 尽量减少表的查询次数
13.1.6 使用EXISTS替代IN
13.1.7 使用EXISTS替代DISTINCT
13.1.8 使用“<=”替代“<”
13.1.9 使用完全限定的列引用
13.2 合理连接表
13.2.1 选择最有效率的表名顺序
13.2.2 WHERE子句的条件顺序
13.3 有效使用索引
13.3.1 使用索引来提高效率
13.3.2 使用索引的基本原则
13.3.3 避免对索引列使用NOT关键字
13.3.4 避免对唯一索引列使用ISNULL或ISNOTN几L
13.3.5 选择复合索引主列
13.3.6 监视索引是否被使用
13.4 扩展练习
第14章 数据加载与传输
14.1 Data Pump工具
14.1.1 Data Pump工具概述
14.1.2 与数据泵相关的数据字典视图
14.1.3 使用Data Pump工具前的准备
14.2 Data Pump Export工具
14.2.1 Data Pump Export选项
14.2.2 使用Data Pump Export
14.3 练习14-1:导出产品价格表
14.4 Data Pump Import工具
14.4.1 Data Pump Import选项
14.4.2 使用DataPump Import
14.5 SQL*Loader
14.5.1 SQL*Loader概述
14.5.2 数据加载示例
14.6 练习14-2:导入用户信息到user表中
14.7 扩展练习
第15章 使用RMAN工具备份与恢复
15.1 RMAN简介
15.1.1 RMAN的特点
15.1.2 RMAN组件
15.1.3 保存RMAN资料档案库
15.1.4 配置RMAN
15.2 RMAN的基本操作
15.2.1 RMAN命令
15.2.2 连接到目标数据库
15.2.3 取消注册数据库
15.3 使用RMAN备份数据库
15.3.1 RMAN备份类型
15.3.2 BACKUP命令
15.3.3 备份数据库
15.3.4 多重备份
15.3.5 镜像复制
15.4 练习15-1:备份整个数据库
15.5 RMAN恢复
15.5.1 RMAN恢复机制
15.5.2 数据库非归档恢复
15.5.3 数据库归档恢复
15.5.4 移动数据文件到新的位置
15.6 练习15-2:备份和恢复userinfo表空间
15.7 扩展练习
第16章 ATM自动取款机系统数据库设计
16.1 系统分析
16.2 数据库设计
16.3 创建系统数据表
16.3.1 创建表空间和用户
16.3.2 创建用户信息表
16.3.3 创建银行卡信息表
16.3.4 创建交易信息表
16.4 模拟常规业务操作和创建视图
16.4.1 模拟常规业务操作
16.4.2 创建视图
16.5 业务办理
16.5.1 更新账号
16.5.2 实现简单的交易操作
16.5.3 用户开户
16.5.4 修改密码
16.5.5 账号挂失
16.5.6 办理存取款业务
16.5.7 余额查询
16.5.8 办理转账业务
16.5.9 统计银行的资金流通余额和盈利结算
16.5.10 撤户