具体描述
《Oracle PL/SQL宝典》讲解在Oracle 11g中使用PL/SQL语言的方法,每章都突出了PL/SQL语言的使用技巧,每个关键技术都给出了示例,每个实例都在真实的环境中演练。《Oracle PL/SQL宝典》从认识PL/SQL语言起步,到使用PL/SQL语言编程,再到最后掌握优化PL/SQL语言,全面展示了PL/SQL语言的使用。《Oracle PL/SQL宝典》附带1张DVD光盘,内容为作者为《Oracle PL/SQL宝典》录制的全程多媒体语音教学视频及教学PPT。
《Oracle PL/SQL宝典》共有17章,涵盖的主要内容有:走进Oracle、认识PL/SQL、数据表的基本操作、表中数据的基本操作、数据的基本查询、查询中函数的使用、数据表的高级查询、索引及视图的使用、数据类型、流程控制、游标、存储过程和函数、触发器、异常处理、事务和锁、安全管理、PL/SQL语句优化、ASP.NET+Oracle项目开发和Java+Oracle项目开发等内容。
作者简介
目录信息
第1章 走进oracle
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 关系数据库的基本特性
1.3.2 关系数据库的设计规范
1.4 认识oracle 11g
1.4.1 什么是oracle 11g
1.4.2 oracle的发展历程
1.4.3 oracle 11g的新特性
1.5 小结
第2章 认识pl/sql
2.1 sql语言概述
2.1.1 sql语言的发展
2.1.2 sql语言的功能
2.1.3 sql语言的执行方式
2.1.4 sql语句结构
2.1.5 sql环境
2.1.6 sql dbms的客户/服务器模型
2.2 什么是pl/sql
2.2.1 认识pl/sql
2.2.2 pl/sql结构
2.2.3 pl/sql的主要组成部分
2.2.4 pl/sql基本规范
2.3 pl/sql在sql*plus中的使用
2.3.1 启动sql*plus
2.3.2 sql*plus追加文本命令
2.3.3 sql*plus增加文本命令
2.3.4 sql*plus替换文本命令
2.4 pl/sql在pl/sql developer中的使用
2.4.1 安装pl/sql developer
2.4.2 pl/sql developer的布局
2.5 小结
第2部分 pl/sql基础
第3章 数据表的基本操作
3.1 创建表
3.1.1 创建表的语法
3.1.2 常用的数据类型
3.1.3 创建表实例
3.2 约束
3.2.1 约束的类型
3.2.2 创建一个带检查约束的表
3.2.3 创建一个带非空约束的表
3.2.4 创建一个带唯一约束的表
3.2.5 创建一个带外键约束的表
3.2.6 创建一个含多个约束的表
3.3 修改表
3.3.1 修改表的结构
3.3.2 给表添加约束
3.3.3 删除表中的约束
3.4 删除表
3.5 重命名表
3.6 使用企业管理器操作表
3.6.1 启用企业管理器
3.6.2 使用企业管理器创建表
3.6.3 使用企业管理器修改表
3.6.4 使用企业管理器删除表
3.7 小结
第4章 表中数据的基本操作
4.1 查询数据表
4.1.1 查询表中的数据
4.1.2 使用pl/sql developer工具查询表中的数据
4.2 添加数据
4.2.1 添加操作的基本语法
4.2.2 直接向表中添加数据
4.2.3 数据中null值的处理
4.2.4 插入值是默认值的处理
4.2.5 插入值是唯一值的处理
4.2.6 使用insert...select插入数据
4.2.7 使用pl/sql developer工具添加数据
4.3 修改数据
4.3.1 修改操作的基本语法
4.3.2 使用update语句更新数据行
4.3.3 根据条件修改表中的数据
4.3.4 使用pl/sql developer工具修改数据
4.4 删除数据
4.4.1 删除操作的基本语法
4.4.2 删除表中的数据
4.4.3 有关truncate的使用
4.4.4 使用pl/sql developer工具删除数据
4.5 小结
第5章 数据的基本查询
5.1 查询语句的基础
5.1.1 查询语句语法
5.1.2 查询各关键词的顺序及功能
5.1.3 查询语句执行顺序
5.2 最容易理解的查询
5.2.1 增加实验数据
5.2.2 查询表中列的数据
5.2.3 查询所有列
5.2.4 去除查询结果中的重复记录
5.2.5 返回查询的部分数据
5.3 带条件的查询
5.3.1 单一的条件查询
5.3.2 查询中使用比较表达式
5.3.3 使用简单逻辑表达式
5.3.4 有关null值的判断
5.3.5 有关模糊查询
5.3.6 指定数据范围
5.3.7 如何限制检索数据范围
5.3.8 定义转义符
5.4 排序查询结果
5.4.1 基本排序
5.4.2 多列排序
5.5 pl/sql中的运算符
5.5.1 算术运算符
5.5.2 比较运算符
5.5.3 逻辑运算符
5.5.4 字符串连接符
5.5.5 赋值运算符
5.5.6 运算符的优先级
5.6 查询中表达式的使用
5.6.1 使用连接符连接列
5.6.2 算术表达式的使用
5.7 小结
第6章 查询中函数的使用
6.1 常用的单行函数
6.1.1 字符处理函数
6.1.2 数值处理函数
6.1.3 日期处理函数
6.1.4 转换函数
6.1.5 替换null值函数
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 分组查询中null值的处理
6.3.4 汇总数据运算符
6.3.5 筛选分组结果
6.4 其他函数
6.4.1 返回登录名函数
6.4.2 返回sessionid和language函数
6.4.3 数据匹配函数
6.5 小结
第7章 数据表的高级查询
7.1 理解什么是多表连接
7.1.1 什么是连接
7.1.2 连接的类型与实现
7.2 简单的多表查询
7.2.1 创建实例表
7.2.2 如何实现多表查询
7.2.3 指定连接条件
7.2.4 使用别名作为表名的简写
7.2.5 自连接表进行查询
7.3 表的连接查询
7.3.1 基本连接语法
7.3.2 内部连接
7.3.3 自然连接
7.3.4 外部连接
7.3.5 交叉连接
7.3.6 连接中空值问题
7.3.7 表的连接与聚合分析
7.4 集合运算
7.4.1 集合运算的种类
7.4.2 union的使用
7.4.3 有关多表的union操作
7.4.4 union与join的区别
7.4.5 minus与intersect的使用
7.5 子查询的使用
7.5.1 认识子查询
7.5.2 非相关子查询与相关子查询
7.5.3 子查询的组成
7.5.4 子查询的使用方式及限制
7.6 在子查询中使用各种限制条件
7.6.1 比较运算符引入子查询
7.6.2 子查询中的聚合函数
7.6.3 在子查询中使用in
7.7 在子查询中使用exists
7.7.1 使用exists的子查询
7.7.2 exists子查询的使用
7.7.3 使用exists子查询检查表中的重复行
7.8 子查询的其他应用
7.8.1 在子查询中使用rownum关键词
7.8.2 在select子句中使用子查询
7.8.3 在having子句中使用子查询
7.8.4 在数据操纵语言(dml)中使用子查询
7.9 小结
第3部分 pl/sql 高级技术
第8章 索引和视图的使用
8.1 索引及其操作
8.1.1 什么是索引
8.1.2 索引的种类及语法
8.1.3 索引的创建
8.1.4 创建索引的注意事项
8.1.5 索引的管理
8.2 视图及其应用
8.2.1 什么是视图
8.2.2 视图的作用
8.3 创建视图
8.3.1 视图的语法
8.3.2 创建单表视图
8.3.3 创建多表视图
8.3.4 视图的视图
8.3.5 无源表视图
8.3.6 设置视图只读
8.3.7 设置视图的检查约束
8.3.8 内嵌视图的使用
8.3.9 查询视图的定义和相关信息
8.4 修改、删除视图
8.4.1 修改视图内容
8.4.2 删除视图
8.5 小结
第9章 数据类型、流程控制和游标
第10章 存储过程、函数
第11章 触发器
第12章 异常处理
第13章 事务和锁
第14章 安全管理
第15章 pl/sql语句优化
第4部分 oracle项目应用
第16章 利用asp.net实现网上记账系统
第17章 利用java实现订票券系统
· · · · · · (收起)
读后感
用户评价
对于 PL/SQL 单元测试和调试,这本书的讲解更是让我眼前一亮。我之前常常在开发完成后,才进行简单的功能测试,而且调试过程也比较随意。这本书则强调了单元测试的重要性,并提供了多种实用的单元测试方法和工具。 书中关于如何编写可维护、可复用的单元测试用例,以及如何利用 PL/SQL 的调试器来快速定位和修复 Bug,都让我受益匪浅。它让我意识到,良好的测试和调试习惯,能够极大地提高开发效率和代码质量。这本书不仅教会了我如何写出更好的 PL/SQL 代码,更让我养成了更专业的开发习惯。
这本书对于函数和过程的设计理念,简直是打开了我新的思路。我之前总是习惯于将代码一股脑地写在一个巨大的过程中,导致维护困难、复用性差。而这本书则强调了模块化和封装的重要性,通过讲解如何设计可重用、高内聚、低耦合的子程序,我学会了如何将复杂的功能分解成更小、更易于管理的单元。书中关于参数传递方式(IN, OUT, IN OUT)的深入分析,以及它们对程序行为的影响,也让我对如何设计更健壮的函数有了更深刻的理解。 更让我惊叹的是,书中还花了相当大的篇幅来讲解异常处理。这不仅仅是简单地捕获错误,而是教会了我如何去预见可能发生的错误,并制定相应的处理策略。从标准的预定义异常到自定义异常的创建,再到异常传播机制的剖析,让我能够写出更具鲁棒性的代码。书中提供的那些关于如何记录异常信息、如何进行错误回溯以及如何优雅地向上层抛出异常的例子,对于我日后排查生产环境的 Bug 来说,绝对是宝贵的财富。
这本书在讲解 PL/SQL 性能调优方面,简直是为我量身定做的。我经常在开发中遇到性能瓶颈,但又不知道从何下手。这本书不仅列举了常见的性能问题,更重要的是,它提供了一整套系统的分析和调优方法。 从如何使用 `EXPLAIN PLAN` 来分析 SQL 执行计划,到如何识别和避免慢 SQL,再到 PL/SQL 代码本身的优化技巧,书中都进行了详尽的讲解。我特别欣赏书中关于如何利用 Oracle 的内置工具来监控和分析性能,以及如何根据分析结果制定相应的调优策略。这让我能够更科学、更有效地解决性能问题。
这本书在讲解事务控制方面的内容,绝对是让我印象深刻的一环。我之前对于事务的理解,仅仅停留在 `COMMIT` 和 `ROLLBACK` 的基本概念上,对于事务的 ACID 特性以及并发控制等方面了解甚少。这本书则系统地阐述了事务的重要性,以及如何正确地管理事务,以保证数据的完整性和一致性。 书中对于 `SAVEPOINT` 的讲解,以及如何利用它来实现部分回滚,为我处理复杂的、多步骤的操作提供了强大的工具。此外,对于不同隔离级别对并发访问的影响,以及如何避免死锁和非重复读等问题,书中也进行了详细的分析和讲解,这让我对如何设计高并发的数据库应用有了更深的认识。
这本书绝对是我近几年来阅读过的最令人印象深刻的技术书籍之一。起初,我只是抱着了解 Oracle 数据库开发技术的目的翻阅,但很快就被其系统性和深度所吸引。作者在讲解 PL/SQL 的基础概念时,并没有流于表面,而是深入剖析了其工作原理和执行机制。例如,在讨论变量、常量和数据类型时,书中不仅列举了各种类型及其适用场景,还详细解释了它们在内存中的存储方式,以及不同类型之间隐式和显式转换时可能遇到的陷阱。这对于我这种需要优化程序性能的开发者来说,无疑是至关重要的信息。 书中对于控制结构,如 IF-THEN-ELSIF、LOOP、WHILE-LOOP 和 FOR-LOOP 的讲解,也远超我之前的认知。它不仅仅是告诉你如何编写这些语句,更重要的是阐述了在不同业务逻辑下,哪种控制结构是最优选择,以及如何通过嵌套和组合来构建复杂的流程。书中举例的那些实际业务场景,比如订单处理、库存管理和用户权限校验,都非常贴合实际工作,让我能够立刻将学到的知识应用到我的项目中。特别是关于游标的使用,书中提供了多种优化技巧,例如使用 BULK COLLECT 和 FORALL 来减少上下文切换,这对于处理大量数据时,其性能提升效果是显而易见的。
在讲解 Oracle 的高级特性时,这本书的内容给我带来了许多惊喜。特别是关于自治事务(Autonomous Transactions)的运用,这是一种我之前从未接触过的概念。书中详细解释了自治事务的原理,以及它在处理日志记录、审计跟踪等场景中的独特优势。 通过书中提供的实际案例,我学会了如何在不影响主事务的情况下,独立地提交或回滚子事务,这极大地扩展了我解决复杂业务问题的能力。这本书让我意识到,Oracle 数据库还有许多强大的功能等待我去发掘和运用。
这本书对于触发器的讲解,可以说是我学习 PL/SQL 过程中一个巨大的飞跃。之前我对于触发器总是抱有一种敬畏甚至有些畏惧的态度,觉得它是一个“黑盒子”,一旦出错就难以排查。然而,这本书通过循序渐进的讲解,将触发器的原理、类型(行级、语句级)、以及不同触发时机(BEFORE, AFTER)的适用场景阐释得淋漓尽致。 书中关于如何利用触发器来实现数据审计、强制数据一致性以及自动更新相关联表的操作,提供了大量详实且具有指导意义的范例。我印象特别深刻的是,书中还讲解了如何通过设置触发器的优先级来控制多个触发器执行的顺序,以及如何避免触发器之间的无限循环。这些内容对于我在实际工作中设计和维护复杂的数据库逻辑,提供了宝贵的经验。
在讲解集合类型时,这本书的内容让我感觉豁然开朗。我之前对 PL/SQL 中的数组和嵌套表等集合类型了解不多,常常在处理批量数据时感到力不从心。这本书系统地介绍了各种集合类型的定义、操作以及使用场景,并详细对比了它们之间的性能差异和适用性。通过书中丰富的代码示例,我能够清晰地看到如何利用这些集合来简化代码、提高效率。 特别是关于关联数组(Associative Arrays)的讲解,书中揭示了它们在实现查找表、计数器等功能时的强大威力。我过去常常需要借助临时表来完成类似的功能,而现在,我可以用更简洁、更高效的方式来实现。书中关于如何高效地遍历和操作集合的技巧,也让我对如何优化数据处理流程有了全新的认识。
数据库性能优化是每个开发者都绕不开的话题,而这本书在这方面的讲解,绝对是锦上添花。它不仅仅是停留在理论层面,而是深入到 PL/SQL 代码层面,提供了大量实用的优化技巧。从如何避免不必要的 SQL 查询,到如何更有效地使用索引,再到 PL/SQL 代码本身的优化方法,都进行了详尽的阐述。 我特别欣赏书中关于“SQL in PL/SQL”的优化建议,比如如何利用 `SELECT INTO` 优化单行查询,以及如何使用 `BULK COLLECT` 和 `FORALL` 来批量处理数据,这些都是我实际工作中常常遇到的性能瓶颈。书中对这些技术的原理和应用场景进行了深入的剖析,让我不仅知道“怎么做”,更知道“为什么这么做”,从而能够更灵活地运用到我的项目中。
SQL 注入一直是 Web 应用开发中的一大安全隐患,而这本书中关于 PL/SQL 防范 SQL 注入的讲解,让我对这项技术有了全新的认识。我之前以为只要不直接拼接用户输入到 SQL 语句中就万事大吉了,但这本书则深入剖析了各种潜在的 SQL 注入风险,并提供了多种行之有效的防范措施。 书中对“绑定变量”(Bind Variables)的强调,以及如何利用存储过程和函数来安全地处理用户输入,都让我受益匪浅。它不仅教会了我如何写出安全的 SQL 语句,更让我理解了背后的安全原理,从而能够更自信地开发安全的应用程序。
了解DDL,DML,DCL的含义,实践操作,PL/SQL的应用,熟悉约束,触发器,存储过程,事物,数据安全以及数据库性能调优,数据库基础必读
了解DDL,DML,DCL的含义,实践操作,PL/SQL的应用,熟悉约束,触发器,存储过程,事物,数据安全以及数据库性能调优,数据库基础必读
了解DDL,DML,DCL的含义,实践操作,PL/SQL的应用,熟悉约束,触发器,存储过程,事物,数据安全以及数据库性能调优,数据库基础必读
了解DDL,DML,DCL的含义,实践操作,PL/SQL的应用,熟悉约束,触发器,存储过程,事物,数据安全以及数据库性能调优,数据库基础必读
了解DDL,DML,DCL的含义,实践操作,PL/SQL的应用,熟悉约束,触发器,存储过程,事物,数据安全以及数据库性能调优,数据库基础必读