第一篇 基础知识篇
第1章 开启数据库之门
1.1 认识数据库
1.1.1 数据库的发展史
1.1.2 数据库系统的组成
1.1.3 什么是数据库管理系统
1.2 研究关系型数据库的基本理论
1.2.1 关系型数据库与数据库管理系统
1.2.2 关系型数据库的E-R模型
1.2.3 关系型数据库的设计范式
1.3 小结
1.4 习题
第2章 踏上Oracle的征程
视频讲解:66分钟
2.1 Oracle的成长历程
2.2 展示Oracle 11g的新特性
2.3 安装与卸载Oracle 11g
2.3.1 Oracle 11g的安装
2.3.2 Oracle 11g的卸载
2.4 Oracle 11g的管理工具
2.4.1 SQL*Plus工具
2.4.2 Oracle企业管理器
2.4.3 数据库配置助手
2.5 启动与关闭数据库实例
2.5.1 启动数据库实例
2.5.2 关闭数据库实例
2.6 上机实践
2.6.1 通过DBCA创建一个数据库
2.6.2 以ABORT方式关闭数据库
2.7 小结
2.8 习题
第3章 Oracle 11g身世解密-体系结构
视频讲解:90分钟
3.1 简述Oracle 11g体系结构
3.2 解密逻辑存储结构
3.2.1 数据块(Data Blocks)
3.2.2 数据区(Extent)
3.2.3 段(Segment)
3.2.4 表空间(TableSpace)
3.3 剖析物理存储结构
3.3.1 数据文件
3.3.2 控制文件
3.3.3 日志文件
3.3.4 服务器参数文件
3.3.5 密码文件、警告文件和跟踪文件
第一篇 基础知识篇
第1章 开启数据库之门
1.1 认识数据库
1.1.1 数据库的发展史
1.1.2 数据库系统的组成
1.1.3 什么是数据库管理系统
1.2 研究关系型数据库的基本理论
1.2.1 关系型数据库与数据库管理系统
1.2.2 关系型数据库的E-R模型
1.2.3 关系型数据库的设计范式
1.3 小结
1.4 习题
第2章 踏上Oracle的征程
视频讲解:66分钟
2.1 Oracle的成长历程
2.2 展示Oracle 11g的新特性
2.3 安装与卸载Oracle 11g
2.3.1 Oracle 11g的安装
2.3.2 Oracle 11g的卸载
2.4 Oracle 11g的管理工具
2.4.1 SQL*Plus工具
2.4.2 Oracle企业管理器
2.4.3 数据库配置助手
2.5 启动与关闭数据库实例
2.5.1 启动数据库实例
2.5.2 关闭数据库实例
2.6 上机实践
2.6.1 通过DBCA创建一个数据库
2.6.2 以ABORT方式关闭数据库
2.7 小结
2.8 习题
第3章 Oracle 11g身世解密-体系结构
视频讲解:90分钟
3.1 简述Oracle 11g体系结构
3.2 解密逻辑存储结构
3.2.1 数据块(Data Blocks)
3.2.2 数据区(Extent)
3.2.3 段(Segment)
3.2.4 表空间(TableSpace)
3.3 剖析物理存储结构
3.3.1 数据文件
3.3.2 控制文件
3.3.3 日志文件
3.3.4 服务器参数文件
3.3.5 密码文件、警告文件和跟踪文件
3.4 剖析Oracle 11g服务器结构
3.4.1 系统全局区(SGA)
3.4.2 程序全局区(PGA)
3.4.3 前台进程
3.4.4 后台进程
3.5 窥探数据字典的秘密
3.5.1 Oracle数据字典简介
3.5.2 Oracle常用数据字典
3.6 上机实践
3.6.1 查询数据库中所有段的存储空间
3.6.2 查询数据库所使用的数据文件
3.7 小结
3.8 习题
第4章 发号施令——SQL*Plus命令
视频讲解:83分钟
4.1 SQL*Plus与数据库的交互
4.2 设置SQL*Plus的运行环境
4.2.1 SET命令简介
4.2.2 使用SET命令设置运行环境
4.3 解读常用的SQL*Plus命令
4.3.1 HELP命令
4.3.2 DESCRIBE命令
4.3.3 SPOOL命令
4.3.4 其他常用命令
4.4 格式化查询结果
4.4.1 COLUMN命令
4.4.2 TTITLE和BTITLE命令
4.5 上机实践
4.5.1 使用set newpage命令修改指定数量的空行
4.5.2 使用TEXT值列替换NULL值列
4.6 小结
4.7 习题
第5章 神兵利器——SQL语言的基本操作
视频讲解:84分钟
5.1 SQL语言简介
5.1.1 SQL语言的特点
5.1.2 SQL语言的分类
5.1.3 SQL语言的编写规则
5.2 认识用户模式
5.2.1 模式与模式对象
5.2.2 示例模式SCOTT
5.3 检索数据
5.3.1 简单查询
5.3.2 筛选查询
5.3.3 分组查询
5.3.4 排序查询
5.3.5 多表关联查询
5.4 操作数据库
5.4.1 插入数据(INSERT语句)
5.4.2 更新数据(UPDATE语句)
5.4.3 删除数据(DELETE语句和TRUNCATE语句)
5.5 上机实践
5.5.1 统计某一个部门的雇员的最高和最低工资
5.5.2 创建employees表的一个副本
5.6 小结
5.7 习题
第6章 更上一层楼——SQL语言的复杂操作
视频讲解:47分钟
6.1 Oracle常用系统函数
6.1.1 字符类函数
6.1.2 数字类函数
6.1.3 日期和时间类函数
6.1.4 转换类函数
6.1.5 聚合类函数
6.2 子查询的用法
6.2.1 什么是子查询
6.2.2 单行子查询
6.2.3 多行子查询
6.2.4 关联子查询
6.3 事务处理
6.3.1 事务概述
6.3.2 操作事务
6.4 上机实践
6.4.1 把系统日期格式转换为“YYYYMMDD”格式
6.4.2 查询工资小于平均工资的员工信息
6.5 小结
6.6 习题
第二篇 核心技术篇
第7章 必须知道的PL/SQL编程
视频讲解:68分钟
7.1 什么是PL/SQL
7.1.1 PL/SQL块结构
7.1.2 代码注释和标识符
7.2 数据类型、变量和常量
7.2.1 基本数据类型
7.2.2 特殊数据类型
7.2.3 定义变量和常量
7.3 控制程序走向——流程控制语句
7.3.1 添加选择语句
7.3.2 循环控制语句
7.4 PL/SQL游标
7.4.1 设置显示游标
7.4.2 游标的常用属性
7.4.3 设置隐式游标
7.4.4 通过for语句遍历游标
7.5 PL/SQL异常处理
7.5.1 预定义异常
7.5.2 自定义异常
7.6 上机实践
7.6.1 判断用户是否可以申请退休
7.6.2 使用游标读取员工信息
7.7 小结
7.8 习题
第8章 自给自足——创建存储过程、函数、触发器和程序
包
视频讲解:97分钟
8.1 PL/SQL程序块——存储过程
8.1.1 存储过程的创建
8.1.2 存储过程的几种模式参数
8.1.3 熟悉IN参数的默认值
8.2 函数的使用
8.2.1 函数的创建
8.2.2 函数的调用
8.2.3 函数的删除
8.3 特殊的存储过程——触发器
8.3.1 触发器概述
8.3.2 语句级触发器
8.3.3 行级触发器
8.3.4 替换触发器
8.3.5 用户事件触发器
8.4 程序包的使用
8.4.1 程序包的规范
8.4.2 程序包的主体
8.5 上机实践
8.5.1 调用存储过程计算平方或平方根
8.5.2 通过程序包调用存储过程和函数
8.6 小结
8.7 习题
第9章 宏观调控——控制文件和日志文件
视频讲解:76分钟
9.1 管理控制文件
9.1.1 控制文件概述
9.1.2 控制文件的多路复用
9.1.3 控制文件的创建
9.1.4 备份和恢复控制文件
9.1.5 控制文件的删除操作
9.1.6 查询控制文件的信息
9.2 管理重做日志文件
9.2.1 重做日志文件概述
9.2.2 增加日志组及其成员
9.2.3 重做日志的删除
9.2.4 更改重做日志文件的位置或名称
9.2.5 查看重做日志文件信息
9.3 管理归档日志文件
9.3.1 日志模式分类
9.3.2 管理归档操作
9.3.3 设置归档日志文件位置
9.3.4 查看归档日志信息
9.4 上机实践
9.4.1 为数据库实例添加重做日志文件组
9.4.2 查看并修改数据库归档模式
9.5 小结
9.6 习题
第10章 数据核心区——表空间和数据文件
视频讲解:57分钟
10.1 表空间与数据文件的关系
10.2 Oracle 11g的默认表空间
10.2.1 Oracle数据字典——SYSTEM表空间
10.2.2 SYSTEM的助手——SYSAUX表空间
10.3 表空间的创建
10.3.1 创建表空间的语法
10.3.2 通过本地化管理方式创建表空间
10.3.3 通过段空间管理方式创建表空间
10.3.4 创建非标准块表空间
10.3.5 建立大文件表空间
10.4 维护表空间与数据文件
10.4.1 设置默认表空间
10.4.2 更改表空间的状态
10.4.3 重命名表空间
10.4.4 删除表空间
10.4.5 维护表空间中的数据文件
10.5 撤销表空间的使用
10.5.1 撤销表空间的作用
10.5.2 撤销表空间的初始化参数
10.5.3 关于撤销表空间的几种操作
10.6 临时表空间的使用
10.6.1 临时表空间的创建
10.6.2 查询临时表空间的信息
10.6.3 临时表空间组的使用
10.7 上机实践
10.7.1 创建并设置默认永久表空间
10.7.2 创建并设置默认临时表空间
10.8 小结
10.9 习题
第11章 数据之家——数据表对象
视频讲解:70分钟
11.1 数据表概述
11.2 数据表的创建
11.2.1 数据表的逻辑结构
11.2.2 创建数据表
11.2.3 庖丁解牛——数据表的特性
11.3 管理维护数据表
11.3.1 增加和删除字段
11.3.2 修改字段
11.3.3 重命名数据表
11.3.4 改变表空间和存储参数
11.3.5 删除数据表
11.3.6 修改数据表的状态
11.4 数据的完整性和约束性
11.4.1 非空约束
11.4.2 主键约束
11.4.3 唯一性约束
11.4.4 外键约束
11.4.5 禁用约束
11.4.6 激活约束
11.4.7 删除约束
11.5 上机实践
11.5.1 将创建的数据表置于指定的表空间中
11.5.2 为指定的数据表创建主键约束
11.6 小结
11.7 习题
第12章 不可不看的其他数据对象
视频讲解:55分钟
12.1 索引对象——快速查找记录
12.1.1 索引概述
12.1.2 创建索引
12.1.3 对索引进行修改
12.1.4 索引的删除操作
12.1.5 显示索引信息
12.2 视图对象——存储查询的虚拟表
12.2.1 创建视图
12.2.2 视图的管理操作
12.3 同义词对象——保护对象的安全
12.4 序列对象——提供唯一的主键值
12.4.1 创建序列
12.4.2 序列的管理操作
12.5 上机实践
12.5.1 创建数据表并添加索引
12.5.2 通过序列对象为数据表添加数据
12.6 小结
12.7 习题
第13章 数据检索目录——表和索引的分区
视频讲解:46分钟
13.1 分区技术概述
13.2 常见的几种表分区
13.2.1 RANGE分区——范围分区
13.2.2 HASH分区——散列分区
13.2.3 LIST分区——列表分区
13.2.4 多重复用——组合分区
13.2.5 范围分区的升级——Interval分区
13.3 关于表分区的策略
13.4 表分区的管理
13.4.1 添加表分区
13.4.2 合并表分区
13.4.3 删除表分区
13.4.4 并入表分区
13.5 索引分区的使用
13.5.1 索引分区概述
13.5.2 本地索引分区的使用
13.5.3 全局索引分区的使用
13.6 索引分区的管理
13.6.1 索引分区管理的操作列表
13.6.2 索引分区管理的实际操作
13.7 上机实践
13.7.1 根据指定字段创建多个列表分区
13.7.2 根据表分区创建本地索引分区
13.8 小结
13.9 习题
第14章 居安思危——管理用户与权限
视频讲解:44分钟
14.1 了解用户与方案
14.2 创建与管理用户
14.2.1 身份验证
14.2.2 创建用户
14.2.3 修改用户
14.2.4 删除用户
14.3 用户权限管理
14.3.1 了解权限
14.3.2 授权操作
14.3.3 回收系统权限
14.3.4 对象授权
14.3.5 回收对象权限
14.3.6 查询用户与权限
14.4 角色管理
14.4.1 认识角色
14.4.2 预定义角色
14.4.3 创建角色与授权
14.4.4 管理角色
14.4.5 角色与权限查询
14.5 资源配置PROFILE
14.5.1 什么是PROFILE
14.5.2 使用PROFILE管理密码
14.5.3 使用PROFILE管理资源
14.5.4 维护PROFILE文件
14.5.5 显示PROFILE信息
14.6 上机实践
14.6.1 创建一个用户
14.6.2 创建一个角色
14.7 小结
14.8 习题
第三篇 高级应用篇
第15章 合理优化Oracle系统
视频讲解:28分钟
15.1 调整初始化参数
15.1.1 Oracle初始化参数分类
15.1.2 主要系统调优参数介绍
15.2 系统全局区(SGA)优化
15.2.1 理解内存分配
15.2.2 调整日志缓冲区
15.2.3 调整共享池
15.2.4 调整数据库缓冲区
15.2.5 SGA调优建议
15.3 排序区优化
15.3.1 排序区与其他内存区的关系
15.3.2 理解排序活动
15.3.3 专用模式下排序区的调整
15.3.4 共享模式下排序区的调整
15.4 上机实践
15.4.1 修改large_pool_size的值并查看修改结果
15.4.2 查询高速缓存在调用阶段的“不命中数”
15.5 小结
15.6 习题
第16章 SQL语句的优胜劣汰
视频讲解:27分钟
16.1 优化常规SQL语句
16.1.1 建议不用“*”来代替所有列名
16.1.2 使用TRUNCATE代替DELETE
16.1.3 在确保完整性的情况下多用COMMIT语句
16.1.4 尽量减少表的查询次数
16.1.5 用[NOT] EXISTS代替[NOT] IN
16.2 优化表连接
16.2.1 驱动表的选择
16.2.2 WHERE子句的连接顺序
16.3 合理使用索引
16.3.1 何时使用索引
16.3.2 索引列和表达式的选择
16.3.3 选择复合索引主列
16.3.4 避免全表扫描大表
16.3.5 监视索引是否被使用
16.4 优化器的使用
16.4.1 优化器的概念
16.4.2 运行EXPLAIN PLAN
16.4.3 Oracle 11g中SQL执行计划的管理
16.5 数据库和SQL重演
16.5.1 数据库重演
16.5.2 SQL重演
16.6 Oracle的性能顾问
16.6.1 SQL调优顾问
16.6.2 SQL访问顾问
16.7 上机实践
16.7.1 使用TRUNCATE语句清空指定数据表
16.7.2 监视主键索引是否被使用
16.8 小结
16.9 习题
第17章 安全保障——数据备份与恢复
视频讲解:44分钟
17.1 了解备份与恢复
17.2 RMAN工具简介
17.2.1 RMAN组件
17.2.2 RMAN通道
17.2.3 RMAN命令
17.3 使用RMAN工具实现备份
17.3.1 RMAN备份策略
17.3.2 使用RMAN备份数据库文件和归档日志
17.3.3 增量备份
17.4 使用RMAN工具实现完全恢复
17.4.1 恢复处于NOARCHIVELOG模式的数据库
17.4.2 恢复处于ARCHIVELOG模式的数据库
17.5 使用RMAN工具实现部分恢复
17.5.1 基于时间的不完全恢复
17.5.2 基于更改的不完全恢复
17.6 上机实践
17.6.1 使用RMAN工具备份表空间
17.6.2 使用RMAN工具还原备份的表空间
17.7 小结
17.8 习题
第18章 游刃有余——数据导出和导入
视频讲解:40分钟
18.1 数据泵技术概述
18.2 使用EXPDP导出数据
18.2.1 执行EXPDP命令
18.2.2 EXPDP命令参数
18.3 使用IMPDP导入数据
18.3.1 执行IMPDP命令
18.3.2 IMPDP命令参数
18.4 使用SQL* Loader工具加载外部数据
18.4.1 初识SQL* Loader工具
18.4.2 加载多种格式的数据
18.5 上机实践
18.5.1 使用EXPDP导出指定的数据表
18.5.2 使用IMPDP导入指定的数据表
18.6 小结
18.7 习题
第19章 穿越时空——闪回技术
视频讲解:29分钟
19.1 了解闪回技术
19.2 闪回数据库技术
19.2.1 闪回恢复区配置
19.2.2 闪回数据库配置
19.2.3 闪回数据库技术应用
19.3 闪回表技术
19.3.1 闪回表命令的语法
19.3.2 闪回表的应用
19.4 闪回丢弃技术
19.4.1 回收站简介
19.4.2 回收站的应用
19.5 其他闪回技术
19.5.1 闪回版本查询
19.5.2 闪回事务查询
19.5.3 闪回数据归档
19.6 上机实践
19.6.1 使用闪回丢弃还原已经drop掉的表
19.6.2 使用闪回表命令清除记录
19.7 小结
19.8 习题
第四篇 项目实战篇
第20章 基于Oracle数据库的企业人事管理系统
视频讲解:171分钟
20.1 需求分析
20.2 系统设计
20.2.1 系统目标
20.2.2 系统功能结构
20.2.3 系统业务流程图
20.2.4 系统编码规范
20.3 系统开发及运行环境
20.4 数据库与数据表设计
20.4.1 实体E-R图设计
20.4.2 数据库逻辑结构设计
20.5 系统文件夹组织结构
20.6 公共模块设计
20.6.1 编写Hibernate配置文件
20.6.2 编写Hibernate持久化类和映射文件
20.6.3 编写通过Hibernate操作持久化对象的常用方法
20.6.4 创建用于特殊效果的部门树对话框
20.6.5 创建通过部门树选取员工的面板和对话框
20.7 Hibernate关联关系的建立方法
20.7.1 建立一对一关联
20.7.2 建立一对多关联
20.8 主窗体设计
20.8.1 实现导航栏
20.8.2 实现工具栏
20.9 人事管理模块设计
20.9.1 实现上传员工照片功能
20.9.2 实现组件联动功能
20.9.3 通过Java反射验证数据是否为空
20.10 待遇管理模块设计
20.10.1 实现建立一个新的账套
20.10.2 实现为新建的账套添加项目
20.10.3 实现修改项目的金额
20.10.4 实现统计报表
20.11 系统维护模块设计
20.11.1 实现修改名称的功能
20.11.2 实现添加部门的功能
20.11.3 实现删除现有部门的功能
20.12 运行项目
20.13 开发常见问题与解决
20.14 小结