第1部分 Oracle开发前奏
第1章 数据库系统概述
( 视频讲解:1小时10分钟)
1.1 数据库的产生动机
1.2 数据、数据库、数据库管理系统、数据库系统
1.3 数据管理与数据库系统的特点
1.4 数据模型
1.4.1 两类数据模型
1.4.2 概念模型
1.4.3 数据模型
1.4.4 关系模型基础
1.5 SQL概述
提示:关于NOSQL技术
1.6 本章小结
第2章 Oracle的安装与基本使用
( 视频讲解:1小时40分钟)
2.1 Oracle简介
2.2 安装Oracle数据库
提示:关于CDB与PDB
注意:如果不进行口令配置,有可能某些用户为锁定状态
2.3 Oracle体系结构
提示:Oracle服务器、Oracle实例(instance)、Oracle数据库(database)的关系
2.3.1 Oracle实例体系
2.3.2 Oracle物理体系
2.4 Oracle监听服务
2.4.1 注册表被破坏导致监听无法启动
2.4.2 计算机名称修改导致监听无法启动
2.4.3 监听工具LSNRCTL
2.5 SQLPlus简介
2.6 SQLPlus常用命令
提示:关于sqlplus.exe工具的补充说明
提示:sqlplusw.exe的输入形式
提示:需要设置命令行格式
2.7 配置SQL Developer
2.8 c##scott用户表
2.8.1 部门表dept
2.8.2 雇员表emp
2.8.3 工资等级表salgrade
2.8.4 工资补贴表bonus
2.9 本章小结
第2部分 SQL基础语法
第3章 简单查询
( 视频讲解:35分钟)
3.1 简单查询语句
提示:关于null的问题
提示:关于SQL中的投影概念
3.2 其他简单查询
3.3 本章小结
第4章 限定查询与排序显示
( 视频讲解:1小时12分钟)
4.1 限定查询
4.1.1 认识限定查询
提示:一般在执行查询之前都先查看一下表中的记录数
4.1.2 对数据进行限定查询
提示:阅读查询语句的小技巧
注意:在使用NOT IN操作符时列表不能有NULL
4.2 对结果排序:ORDER BY
提示:语句执行顺序
4.3 本章小结
第5章 单行函数
( 视频讲解:2小时6分钟)
5.1 单行函数简介
5.2 字符函数
5.3 数值函数
5.4 日期函数
提示:关于日期和数字的问题
5.5 转换函数
注意:建议保留前导0
提示:关于数据的隐式转换操作
5.6 通用函数
5.7 本章小结
第6章 多表查询
( 视频讲解:1小时30分钟)
6.1 多表查询的基本语法
提示:关于笛卡尔积的代数表示
提示:关于笛卡尔积的消除
6.2 多表查询实例
6.3 表的连接操作
提示:左外连接与右外连接的操作
6.4 自身关联
6.5 SQL:1999语法
6.5.1 交叉连接
6.5.2 自然连接
提示:自然连接的操作
6.5.3 USING子句
6.5.4 ON子句
提示:关于θ连接
6.5.5 外连接
6.6 数据的集合运算
6.7 本章小结
第7章 分组统计查询
( 视频讲解:1小时20分钟)
7.1 统计函数
7.2 单字段分组统计
提示:分享一下个人的分组规律
7.3 多字段分组统计
7.4 HAVING子句
7.5 本章小结
第8章 子查询
( 视频讲解:4小时3分钟)
8.1 认识子查询
8.2 在WHERE子句中使用子查询
8.2.1 子查询返回单行单列数据
8.2.2 子查询返回单行多列数据
8.2.3 子查询返回多行单列数据
提示:关于SOME操作符
8.2.4 空数据判断
8.3 在HAVING子句中使用子查询
8.4 在FROM子句中使用子查询
8.5 在SELECT子句中使用子查询
8.6 WITH子句
8.7 分析函数
8.7.1 分析函数基本语法
提示:关于“分组”与“分区”
8.7.2 分析函数范例
8.8 行列转换
提示:使用XML与ANY
8.9 设置数据层次
8.10 本章小结
第9章 更新及事务处理
( 视频讲解:1小时32分钟)
9.1 更新操作前的准备
9.2 数据的增加操作
9.2.1 增加数据
9.2.2 增加子查询结果数据
9.3 数据的更新操作
9.3.1 由用户指定更新数据
9.3.2 使用已有数据更新数据表
9.4 数据的删除操作
9.5 事务处理
9.6 锁
9.6.1 行级锁定
9.6.2 表级锁定
9.6.3 解除锁定
9.7 本章小结
第10章 替代变量
( 视频讲解:43分钟)
10.1 替代变量的基本概念
10.2 替代变量的详细说明
10.3 定义替代变量
10.4 ACCEPT指令
10.5 本章小结
第11章 表的创建与管理
( 视频讲解:1小时48分钟)
11.1 数据表的基本概念
11.2 Oracle常用数据类型
11.3 表的创建
11.4 表的复制
11.5 数据表重命名
11.6 截断表
11.7 表的删除
11.8 闪回技术(FlashBack)
11.9 修改表结构
11.10 添加注释
11.11 设置可见/不可见字段
11.12 表空间
提示:关于数据库系统的三级模式结构
提示:关于数据库、表空间、表的简单理解
提示:关于非系统表空间的称呼
11.12.1 创建表空间
提示:Oracle中的默认表空间
11.12.2 使用表空间
11.13 本章小结
第12章 完整性约束
( 视频讲解:2小时20分钟)
12.1 数据库完整性约束简介
12.2 非空约束NK
12.3 唯一约束UK
12.4 主键约束PK
12.5 检查约束CK
12.6 主-外键约束FK
12.7 查看约束
12.8 修改约束
注意:在为表中添加约束时一定要保证表中的数据没有违反约束
12.9 数据库综合实战
12.9.1 建立数据表
12.9.2 为数据表增加数据
12.9.3 数据操作
12.10 本章小结
第13章 其他数据库对象
( 视频讲解:2小时46分钟)
13.1 视图
13.1.1 创建视图
提示:关于Oracle 12c创建视图时出现的权限不足的错误
13.1.2 在视图上执行DML操作
13.1.3 WITH CHECK OPTION子句
13.1.4 WITH READ ONLY子句
13.1.5 删除视图
13.2 序列
13.2.1 序列的作用及创建
13.2.2 序列的删除
13.2.3 创建特殊功能的序列
提示:设置缓存有可能造成跳号的情况
13.2.4 修改序列
13.2.5 自动序列
注意:自动序列对象的删除
13.3 同义词
13.4 Oracle伪列
13.4.1 ROWID伪列
13.4.2 ROWNUM伪列
13.4.3 Oracle 12c新特性FETCH
13.5 索引
提示:关于索引深层次学习
13.5.1 B*Tree索引
提示:关于全表扫描
13.5.2 位图索引
13.5.3 删除索引
13.6 本章小结
第14章 用户权限及角色管理
( 视频讲解:1小时23分钟)
14.1 用户管理
14.1.1 创建用户
注意:Oracle 12c的新限制
14.1.2 概要文件(profiles)
14.1.3 维护用户
14.1.4 删除用户
注意:删除用户是一个危险操作
14.2 权限管理
14.2.1 系统权限
提示:SYSOPER和SYSDBA权限
提示:用户SESSION连接
14.2.2 对象权限
14.3 角色
14.3.1 创建角色
14.3.2 角色授权
14.3.3 为用户授予角色
14.3.4 修改角色及回收角色权限
14.3.5 删除角色
14.3.6 预定义角色
14.4 本章小结
第15章 数据库设计
( 视频讲解:1小时36分钟)
15.1 数据库设计概述
15.2 概念模型与E-R图概述
15.2.1 实体
15.2.2 属性
15.2.3 联系
15.2.4 E-R模型实例
15.3 数据库设计范式
15.3.1 第一范式(1NF)
15.3.2 第二范式(2NF)
提示:关于函数依赖的解释
15.3.3 第三范式(3NF)
15.3.4 鲍依斯-科得范式(BCNF)
15.4 Sybase PowerDesigner设计工具
15.4.1 概念模型设计
15.4.2 物理数据模型设计
15.5 数据库设计案例
15.5.1 功能描述
15.5.2 概念模型
15.5.3 物理数据模型
15.6 本章小结
第3部分 数据库编程
第16章 PL/SQL编程基础
( 视频讲解:3小时)
16.1 PL/SQL简介
16.2 变量的声明与赋值
16.2.1 声明并使用变量
提示:关于Oracle关键字说明
注意:PL/SQL中的变量不区分大小写
16.2.2 使用%TYPE声明变量类型
16.2.3 使用%ROWTYPE声明变量类型
16.3 运算符
16.3.1 赋值运算符
16.3.2 连接运算符
16.3.3 关系运算符
16.3.4 逻辑运算符
16.4 数据类型划分
16.5 标量类型
16.5.1 数值型
提示:关于数据溢出问题
16.5.2 字符型
16.5.3 日期型
16.5.4 布尔型
16.5.5 子类型
16.6 程序结构
16.6.1 分支结构
提示:Oracle也支持正则验证
16.6.2 循环结构
16.6.3 循环控制
16.6.4 GOTO语句
16.7 内部程序块
16.8 异常处理
16.8.1 异常简介
16.8.2 使用EXCEPTION来处理异常
16.8.3 用户自定义异常
16.9 本章小结
第17章 集合
( 视频讲解:2小时52分钟)
17.1 记录类型
17.2 索引表
17.3 嵌套表
17.3.1 定义简单类型嵌套表
17.3.2 定义复合类型嵌套表
17.3.3 在PL/SQL中使用嵌套表
17.4 可变数组
17.4.1 定义简单类型的可变数组
17.4.2 定义复合类型的可变数组
17.4.3 在PL/SQL中使用可变数组
17.5 集合运算符
17.6 集合函数
17.7 处理集合异常
17.8 使用FORALL批量绑定
17.9 BULK COLLECT批量接数据
17.10 本章小结
第18章 游标
( 视频讲解:1小时19分钟)
18.1 游标简介
18.2 隐式游标
18.3 显式游标
18.4 修改游标数据
18.4.1 FOR UPDATE子句
18.4.2 WHERE CURRENT OF子句
18.5 游标变量
18.6 本章小结
第19章 子程序
( 视频讲解:2小时26分钟)
19.1 子程序定义
19.1.1 定义过程
19.1.2 定义函数
19.2 查询子程序
19.3 删除子程序
19.4 参数模式
提示:不再重复演示函数的参数模式
19.5 子程序嵌套
19.6 NOCOPY选项
19.7 自治事务
19.8 子程序权限
19.9 利用Java调用子程序
19.10 本章小结
第20章 包
( 视频讲解:1小时38分钟)
20.1 包的定义及使用
20.1.1 包的基本概念
20.1.2 重新编译包
20.1.3 包的作用域
20.1.4 重载包中的子程序
20.1.5 包的初始化
20.1.6 包的纯度级别
注意:关于公用函数的说明
20.2 系统工具包
20.2.1 DBMS_OUTPUT包
20.2.2 DBMS_JOB包与数据库作业
20.2.3 DBMS_ASSERT包
提示:利用DBMS_ASSERT可以解决SQL注入攻击
20.2.4 DBMS_LOB包
20.3 本章小结
第21章 触发器
( 视频讲解:3小时30分钟)
21.1 触发器简介
21.2 DML触发器
21.3 表级DML触发器
21.4 行级DML触发器
21.4.1 使用“:old.字段”和“:new.字段”标识符
注意:不能将“:new”或“:old”设置为ROWTYPE类型
21.4.2 使用REFERENCING子句设置别名
21.4.3 使用WHEN子句定义触发条件
21.4.4 触发器谓词
21.4.5 使用FOLLOWS子句
21.5 变异表
21.6 复合触发器
21.7 instead-of触发器
21.7.1 在视图上定义替代触发器
21.7.2 在嵌套表上定义替代触发器
21.8 DDL触发器
21.9 系统触发器
21.10 管理触发器
提示:Oracle 11g之后可以建立禁用触发器
21.11 触发器中调用子程序
21.12 本章小结
第22章 动态SQL
( 视频讲解:1小时17分钟)
22.1 动态SQL简介
提示:如果不使用EXECUTE IMMEDIATE,则程序会出现错误
提示:在get_table_count_fun()函数执行时可能出现“ORA-01031:权限不足”错误提示
22.2 EXECUTE IMMEDIATE语句
22.2.1 执行动态SQL
22.2.2 设置绑定变量
22.2.3 接收DML更新行数
提示:也可以使用RETURN接收影响数据行的数据
22.3 批量绑定
22.4 处理游标操作
22.5 DBMS_SQL包简介
22.6 本章小结
第23章 面向对象编程
( 视频讲解:2小时35分钟)
23.1 面向对象简介
23.2 类与对象
23.3 定义对象类型——类
23.4 操作类中的其他结构
23.4.1 定义函数
23.4.2 构造函数
提示:关于默认构造函数
23.4.3 定义MAP与ORDER函数
23.4.4 对象嵌套关系
23.4.5 继承性
23.4.6 函数覆写
23.4.7 对象多态性
23.4.8 使用FINAL关键字
23.4.9 定义抽象函数
23.5 对象表
23.5.1 创建对象表
23.5.2 维护对象表数据
23.6 对象视图
23.7 本章小结
展开
★李兴华讲课一流,写东西好绝对好学实用,缺点是没有废话!
——中科软通CEO 王月清
★图示多、看起来轻松,入门级好书!
——中科院软件研究所范国闯
★视频足够详细,比单纯看书要快很多,作者没少费心思。
——中烟科信息架构师 周艳军
★视频、实例、服务做到了,看这本书再整不明白,就要考虑是不是该换行了
——三星数据系统项目经理 马宁
★想快速学Oracle开发的人,强烈推荐这本书,简单、容易。
——中企动力 吴海斌