Oracle数据库管理从入门到精通作者:丁士锋 等著出版时间:2014容简介 《Oracle数据库管理从入门到精通(配光盘)》以面向应用为原则,深入浅出地介绍了Oracle数据库的管理和开发技术。书中通过大量的图解和示例代码,详细介绍了Oracle的体系结构、PL/SQL的语言特性,并深入剖析了用PL/SQL进行Oracle开发的方方面面。为了便于读者高效、直观地学习,作者为本书重点内容录制了13.6小时多媒体教学视频。这些视频及本书涉及的源代码一起收录于本书配套DVD光盘中。另外,光盘中还免费赠送了7.8小时Oracle PL/SQL教学视频和大量的PL/SQL实例代码,供读者进一步学习参考。全书共24章,分为6篇。涵盖的内容主要有关系型数据库基础、Oracle的安装和管理、体系结构、网络结构、物理和逻辑结构的维护和管理、SQL语言的应用、PL/SQL语言基础、开发环境、控制语句、数据表的管理和查询、数据表的操作、使用PL/SQL的记录与集合、各种内置函数、游标、事务处理、异常处理、子程序、包、Oracle的安全性、表空间和数据文件的管理、数据库的备份和恢复等,最后还通过两个现实案例介绍了Oracle编程的经验和技巧。本书适用于Oracle数据库管理人员、使用PL/SQL进行应用程序开发的人员、对软件开发有兴趣的学生及爱好者。另外,本书对于网络管理员、企业IT运维人员也具有很强的指导作用。目录第1篇 Oracle基础第1章 认识关系型数据库( 教学视频:37分钟) 21.1 理解数据库 21.1.1 什么是关系型数据库 21.1.2 实体关系模型 31.1.3 关系型数据库管理系统RDBMS 51.1.4 使用SQL语言管理数据库 61.2 认识数据库范式 71.2.1 什么是数据库范式 71.2.2 第一范式1NF 81.2.3 第二范式2NF 91.2.4 第三范式3NF 101.3 认识Oracle数据库系统 101.3.1 Oracle数据库特性 101.3.2 Oracle数据库管理员 121.3.3 数据库管理员任务列表 131.3.4 Oracle数据库系统的组成 151.3.5 与SQL Server数据库的比较 161.4 安装Oracle数据库 181.4.1 获取Oracle数据库软件 181.4.2 使用Oracle技术与文档库 191.4.3 安装Oracle数据库系统 201.4.4 卸载Oracle数据库 291.5 小结 31第2章 创建和连接Oracle数据库( 教学视频:43分钟) 332.1 创建Oracle数据库 332.1.1 使用DBCA创建数据库 332.1.2 使用静默方式创建数据库 412.1.3 删除现有数据库 432.1.4 手动安装数据库 452.2 启动和停止Oracle数据库服务 502.2.1 启动和停止监听程序 512.2.2 启动数据库 542.2.3 限制数据库的访问 562.2.4 关闭数据库 572.3 Oracle客户端工具 592.3.1 安装Oracle客户端 592.3.2 客户端网络配置工具 622.3.3 使用Oracle企业管理器 652.3.4 使用SQL*Plus 672.3.5 使用Oracle SQL Developer 692.3.6 使用PL/SQL Developer 712.3.7 使用Toad 732.4 小结 76第3章 SQL语言与SQL*Plus( 教学视频:34分钟) 773.1 SQL语言基础 773.1.1 SQL、SQL*Plus与Oracle的关系 773.1.2 SQL语言的特点 783.1.3 SQL语言的分类 803.1.4 SQL语言的编写规则 813.2 认识SQL*Plus 833.2.1 SQL*Plus的功能 833.2.2 启动SQL *Plus 843.2.3 重新连接数据库 863.2.4 SQL*Plus运行环境设置 863.2.5 使用命令帮助 883.3 操作数据库 903.3.1 执行SQL与PL/SQL代码 903.3.2 了解SQL*Plus缓冲区 923.3.3 运行脚本文件 943.3.4 显示表结构 953.3.5 使用替换变量 973.3.6 运行操作系统命令 983.3.7 断开和退出SQL*Plus 993.4 格式化查询结果 1003.4.1 格式化列 1003.4.2 清除列格式 1033.4.3 限制重复行 1033.4.4 使用汇总行 1053.5 小结 106第4章 认识Oracle体系结构( 教学视频:20分钟) 1074.1 Oracle实例内存管理 1074.1.1 Oracle内存结构 1074.1.2 系统全局区SGA 1084.1.3 程序全局区PGA 1124.1.4 数据库缓冲区高速缓存 1144.1.5 共享池 1174.1.6 重做日志缓冲区 1184.1.7 其他内存结构 1194.2 Oracle实例进程结构 1204.2.1 用户进程与服务器进程 1204.2.2 PMON与SMON进程 1234.2.3 DBWn与LGWR进程 1254.2.4 CKPT与ARCn进程 1264.3 小结 128第2篇 管理方案对象第5章 创建和管理表( 教学视频:52分钟) 1305.1 表和表列 1305.1.1 表和实体 1305.1.2 表的分类 1315.1.3 表和列命名规则 1325.1.4 列数据类型 1335.2 创建表 1365.2.1 使用设计器建表 1365.2.2 创建标准表 1395.2.3 全局临时表 1415.2.4 索引组织表 1445.2.5 使用外部表 1455.2.6 使用DUAL表 1495.2.7 数据字典中的表信息 1515.3 修改表 1525.3.1 添加表列 1525.3.2 使用虚拟列 1545.3.3 修改表列 1565.3.4 删除表列 1585.3.5 重命名表列 1605.3.6 重命名表 1605.3.7 删除数据表 1615.4 小结 162第6章 索引和约束( 教学视频:36分钟) 1636.1 创建索引 1636.1.1 索引的作用 1636.1.2 索引的原理 1666.1.3 索引的分类 1686.1.4 创建B*树索引 1706.1.5 创建位图索引 1736.1.6 创建函数索引 1756.1.7 修改索引 1766.1.8 重命名索引 1776.1.9 重建和合并索引 1786.1.10 不可见和不可用的索引 1806.1.11 索引的监控 1816.1.12 删除索引 1826.1.13 查看索引信息 1836.1.14 索引创建策略 1856.1.15 创建和管理索引的一般性指南 1856.2 创建约束 1866.2.1 理解约束 1866.2.2 主键约束 1886.2.3 外键约束 1906.2.4 级联关系 1926.2.5 外键与索引 1946.2.6 检查约束 1956.2.7 唯一性约束 1986.3 管理约束 1996.3.1 修改约束 1996.3.2 添加约束 2006.3.3 重命名约束 2016.3.4 删除约束 2026.3.5 约束的状态 2036.3.6 查询约束信息 2066.4 小结 207第7章 视图( 教学视频:28分钟) 2087.1 视图基础 2087.1.1 什么是视图 2087.1.2 视图的分类 2097.1.3 视图创建语法 2117.1.4 创建简单视图 2127.1.5 创建复杂视图 2157.1.6 视图的修改 2177.1.7 视图的删除 2187.2 内联视图 2197.2.1 什么是内联视图 2197.2.2 内联视图执行顺序 2217.2.3 内联视图与DML语句 2237.3 物化视图 2247.3.1 什么是物化视图 2257.3.2 创建物化视图 2287.3.3 修改物化视图 2317.3.4 删除物化视图 2337.4 小结 233第8章 序列和同义词( 教学视频:24分钟) 2348.1 使用序列 2348.1.1 序列的作用 2348.1.2 创建自增序列 2368.1.3 NEXTVAL和CURRVAL伪列 2388.1.4 修改序列 2418.1.5 删除序列 2428.1.6 查看序列 2428.2 使用同义词 2448.2.1 同义词的作用 2448.2.2 创建和使用同义词 2458.2.3 删除同义词 2468.2.4 查看同义词 2478.3 小结 248第3篇 使用SQL语言第9章 SQL查询( 教学视频:50分钟) 2509.1 基本查询 2509.1.1 SELECT语法 2509.1.2 查询指定列数据 2519.1.3 用DISTINCT去除重复值 2539.1.4 表达式查询 2549.1.5 使用WHERE限制返回的行 2579.1.6 BETWEEN、IN和LIKE范围查询 2599.1.7 处理NULL列值 2639.1.8 AND、OR、NOT逻辑运算符 2649.1.9 使用ORDER BY排序 2679.1.10 ROWNUM伪列 2699.1.11 ROWID伪列 2719.1.12 使用CASE表达式 2749.2 多表连接查询 2769.2.1 理解多表查询 2769.2.2 内连接 2789.2.3 外连接 2819.2.4 自引用连接 2849.2.5 交叉连接 2859.2.6 自然连接 2869.3 集合和子查询 2889.3.1 理解集合运算 2889.3.2 UNION联合运算与UNION ALL全联合运算 2899.3.3 INTERSECT交集运算 2919.3.4 MINUS差集运算 2929.3.5 理解子查询 2939.3.6 非相关子查询 2949.3.7 单行单列子查询 2969.3.8 多行单列子查询 2979.3.9 相关子查询 2999.4 分组查询 3019.4.1 理解分组查询 3019.4.2 分组函数 3029.4.3 使用GROUP BY子句分组 3059.4.4 使用HAVING子句限制结果集 3089.4.5 使用ROLLUP和CUBE 3109.4.6 使用GROUPING SETS子句 3129.5 小结 313第10章 操作数据表( 教学视频:25分钟) 31410.1 插入数据 31410.1.1 理解DML语言 31410.1.2 使用INSERT语句 31610.1.3 插入默认值和空值 31710.1.4 使用子查询插入多行数据 31910.1.5 插入多表数据 32010.2 更新数据 32410.2.1 使用UPDATE语句 32410.2.2 使用子查询更新多行记录 32510.2.3 使用RETURNING子句 32910.3 删除数据 33110.3.1 使用DELETE语句 33110.3.2 使用子查询删除记录 33310.3.3 使用TRUNCATE清空表数据 33410.3.4 使用MERGE合并数据表 33610.4 小结 338第11章 Oracle内置函数( 教学视频:25分钟) 33911.1 函数基础 33911.1.1 函数的作用 33911.1.2 函数的分类 34111.2 字符型函数 34211.2.1 字符型函数列表 34211.2.2 ASCII和CHR函数 34311.2.3 大小写转换函数 34411.2.4 字符串处理函数 34611.2.5 字符串替代函数 35211.3 数字型函数 35311.3.1 数字型函数列表 35311.3.2 ABS和MOD函数 35511.3.3 CEIL和FLOOR函数 35511.3.4 ROUND和TRUNC函数 35611.4 日期时间函数 35711.4.1 日期时间函数列表 35711.4.2 日期时间函数使用示例 35811.4.3 使用EXTRACT截取日期信息 36111.5 类型转换函数 36211.5.1 类型转换函数列表 36211.5.2 TO_CHAR字符串转换函数 36411.5.3 TO_DATE日期转换函数 36811.5.4 TO_NUMBER数字转换函数 36911.6 通用函数 37011.6.1 通用函数列表 37011.6.2 NVL和NVL2函数 37111.6.3 NULLIF和COALESCE函数 37311.6.4 DECODE函数 37411.6.5 SYS_GUID函数 37611.7 小结 377第4篇 PL/SQL编程第12章 使用PL/SQL创建Oracle程序( 教学视频:39分钟) 38012.1 PL/SQL基础 38012.1.1 过程化程序设计 38012.1.2 与SQL语言整合 38112.1.3 提高程序性能 38312.1.4 模块化应用程序开发 38412.1.5 面向对象的开发 38612.2 PL/SQL语言概览 38712.2.1 PL/SQL块 38712.2.2 嵌套块 39012.2.3 变量和数据类型 39312.2.4 程序控制语句 39612.2.5 条件判断语句 39712.2.6 循环控制语句 40212.2.7 顺序控制语句 40712.2.8 存储过程、函数与包 40912.2.9 触发器简介 41212.2.10 结构化异常处理 41412.2.11 集合与记录 41512.2.12 游标基础 41812.3 小结 420第13章 子程序和包( 教学视频:45分钟) 42113.1 定义子程序 42113.1.1 什么是子程序 42113.1.2 子程序的调试 42313.1.3 创建过程 42513.1.4 创建函数 42913.1.5 使用RETURN语句 43013.1.6 管理子程序 43113.1.7 在SQL语句中使用函数 43413.2 子程序参数 43613.2.1 形式参数与实际参数 43713.2.2 IN、OUT和IN OUT模式 43813.2.3 参数调用方式 44113.2.4 形式参数的约束 44213.2.5 使用NOCOPY编译提示 44413.2.6 参数默认值 44613.3 定义PL/SQL包 44713.3.1 什么是包(Package) 44813.3.2 定义包规范 45013.3.3 定义包体 45313.3.4 子程序重载 45513.3.5 调用包组件 45813.3.6 重新编译包 46213.3.7 查看包的源代码 46313.4 小结 464第14章 记录与集合( 教学视频:33分钟) 46614.1 使用PL/SQL记录 46614.1.1 什么是记录 46614.1.2 定义记录类型 46714.1.3 记录类型赋值 47114.1.4 使用记录 47814.2 使用集合类型 48214.2.1 集合的分类 48214.2.2 定义关联数组 48314.2.3 操作关联数组 48514.2.4 定义嵌套表 48714.2.5 操作嵌套表 48914.2.6 数据库中的嵌套表 49214.2.7 定义变长数组 49514.2.8 操作变长数组 49614.2.9 数据库中的变长数组 49814.3 小结 500第15章 触发器和游标( 教学视频:26分钟) 50115.1 理解触发器 50115.1.1 触发器的作用 50115.1.2 定义触发器 50315.1.3 触发器的分类 50515.2 DML触发器 50615.2.1 触发器的执行顺序 50615.2.2 定义DML触发器 50815.2.3 使用条件谓词 51115.2.4 使用OLD和NEW伪记录 51215.2.5 使用REFERENCING子句 51415.2.6 使用WHEN子句 51515.2.7 触发器的异常处理 51615.2.8 理解自治事务 51815.3 INSTEAD OF替代触发器 52015.3.1 什么是替代触发器 52015.3.2 定义替代触发器 52115.3.3 UPDATE和DELETE替代触发器 52415.4 系统事件触发器 52615.4.1 定义系统触发器 52615.4.2 使用DDL触发器 52715.4.3 使用数据库触发器 53015.4.4 SERVERERROR触发器 53315.5 游标 53415.5.1 什么是游标 53515.5.2 定义游标 53615.5.3 打开游标 53815.5.4 提取游标数据 53915.5.5 关闭游标 54215.6 小结 542第16章 异常处理机制( 教学视频:17分钟) 54316.1 理解异常处理 54316.1.1 异常处理简介 54316.1.2 异常处理语法 54516.1.3 预定义异常 54716.2 自定义异常 55016.2.1 声明异常 55016.2.2 异常的作用域范围 55116.2.3 使用EXCEPTION_INIT编译指令 55216.2.4 使用RAISE语句 55316.2.5 使用RAISE_APPLICATION_ERROR 55416.3 处理异常 55616.3.1 使用WHEN子句 55616.3.2 使用OTHERS异常处理器 55716.3.3 使用SQLCODE和SQLERRM 55916.4 小结 560第17章 动态SQL语句( 教学视频:25分钟) 56117.1 理解动态SQL语句 56117.1.1 动态SQL基础 56117.1.2 动态SQL使用时机 56317.1.3 本地动态SQL 56417.2 使用EXECUTE IMMEDIATE 56617.2.1 EXECUTE IMMEDIATE语法 56617.2.2 执行SQL语句和PL/SQL语句块 56617.2.3 使用绑定变量 56817.2.4 使用RETURNING INTO子句 57117.2.5 使用INTO子句 57217.2.6 指定参数模式 57317.3 多行查询语句 57417.3.1 使用OPEN FOR语句 57517.3.2 使用FETCH语句 57617.3.3 关闭游标变量 57717.4 使用动态批量绑定 57817.4.1 使用EXECUTE IMMEDIATE批量绑定 57917.4.2 使用批量FETCH语句 58117.4.3 使用批量FORALL语句 58217.5 动态SQL的性能优化技巧 58417.5.1 用绑定变量改善性能 58417.5.2 重复的绑定占位符 58517.5.3 传递NULL参数 58617.5.4 动态SQL异常处理 58617.6 小结 587第18章 事务和锁( 教学视频:31分钟) 58818.1 使用Oracle事务 58818.1.1 事务的特性 58818.1.2 使用COMMIT提交事务 59018.1.3 使用ROLLBACK回滚事务 59118.1.4 使用SAVEPOINT保存点 59218.1.5 事务的隔离级别 59318.1.6 使用SET TRANSACTION设置事务属性 59518.2 使用Oracle锁 59718.2.1 什么是锁 59718.2.2 使用锁 59918.2.3 DML锁 60118.2.4 DDL锁 60218.2.5 死锁 60318.2.6 使用LOCK TABLE语句 60418.3 小结 606第5篇 Oracle维护第19章 数据库安全性管理( 教学视频:42分钟) 60819.1 用户管理 60819.1.1 用户与方案简介 60819.1.2 创建用户 61019.1.3 修改用户 61419.1.4 删除用户 61619.1.5 用户概要文件 61719.1.6 查询用户信息 62019.2 权限管理 62119.2.1 理解权限 62119.2.2 分配权限 62419.2.3 撤销权限 62819.2.4 查看权限 63119.3 角色管理 63319.3.1 角色简介 63319.3.2 创建角色 63619.3.3 分配权限 63719.3.4 管理角色 63819.3.5 查看角色 64219.4 小结 643第20章 数据库空间管理( 教学视频:17分钟) 64420.1 理解表空间 64420.1.1 表空间概述 64420.1.2 表空间分类 64620.1.3 表空间的创建 64720.1.4 创建普通表空间 64920.1.5 创建大文件表空间 65220.1.6 创建临时表空间 65320.1.7 创建撤销表空间 65420.2 管理表空间 65520.2.1 调整表空间大小 65520.2.2 调整脱机和联机状态 65720.2.3 调整只读和只写状态 65820.2.4 更改表空间名称 66020.2.5 删除表空间 66020.2.6 查询表空间信息 66120.3 小结 665第21章 数据库文件管理( 教学视频:46分钟) 66621.1 管理控制文件 66621.1.1 控制文件的重要性 66621.1.2 创建控制文件 66721.1.3 多路复用控制文件 67221.1.4 备份/恢复控制文件 67421.1.5 删除控制文件 67621.1.6 查看控制文件信息 67721.2 管理数据文件 67821.2.1 理解数据文件 67921.2.2 创建数据文件 68121.2.3 改变数据文件的大小 68221.2.4 改变数据文件的可用性 68321.2.5 改变数据文件的位置和名称 68621.2.6 查询数据文件信息 68821.3 管理重做日志文件 69121.3.1 重做记录 69121.3.2 重做日志文件 69221.3.3 重做日志组 69321.3.4 日志切换和日志序列号 69421.3.5 归档重做日志文件 69521.3.6 多路复用重做日志文件 69721.3.7 创建重做日志组和成员 69821.3.8 删除重做日志组和成员 70021.3.9 更改组成员的位置或名称 70321.3.10 清除重做日志文件 70421.3.11 查看重做日志文件信息 70521.4 小结 706第22章 备份和恢复数据库( 教学视频:49分钟) 70822.1 理解备份与恢复 70822.1.1 什么是备份与恢复 70822.1.2 备份与恢复的方法 70922.2 使用RMAN(恢复管理器) 71122.2.1 设置归档日志模式 71222.2.2 认识RMAN 71422.2.3 连接到RMAN 71622.2.4 RMAN的基本操作 71722.2.5 完整数据库备份 71922.2.6 备份表空间和数据库文件 72322.2.7 理解RMAN命令 72722.2.8 创建增量备份 72822.2.9 恢复数据库 73022.2.10 恢复表空间和数据库文件 73222.2.11 使用恢复目录 73322.3 小结 735第6篇 PL/SQL案例实战第23章 基于PL/SQL物料报表程序( 教学视频:25分钟) 73823.1 系统设计 73823.1.1 物料清单BOM简介 73823.1.2 需求分析 73923.1.3 系统流程 74023.1.4 数据表ER关系图 74123.1.5 Oracle开发环境的搭建 74323.2 系统编码实现 74423.2.1 创建包规范 74523.2.2 获取物料成本单价 74623.2.3 层次化展开物料清单 74823.2.4 编制BOM成本报表 75123.2.5 定义调用主程序 75523.3 小结 757第24章 PL/SQL采购订单分析程序( 教学视频:45分钟) 75824.1 系统设计 75824.1.1 采购订单分析简介 75824.1.2 需求分析 75924.1.3 系统流程 75924.1.4 数据表E-R流程 76124.1.5 创建Oracle数据表 76224.2 系统编码实现 76424.2.1 创建包规范 76424.2.2 获取采购订单和订单行数据 76524.2.3 采购分析程序实现 77124.2.4 设置订单行的周范围信息 77424.2.5 定义调用主程序 77724.3 小结 上一篇: Java网络编程 [殷兆麟 主编] 下一篇: 深入体验Java Web开发内幕 高级特性