精通Oracle PL/SQL

当前位置:首页 > 计算机网络 > 数据库 > 精通Oracle PL/SQL

出版社:人民邮电出版社
出版日期:2009-9
ISBN:9787115208385
作者:[澳] Connor McDonald,[加] Chaim Katz,[美] Christopher Beck,[美] Joel R. Kallman,[美] David C. Knox
页数:464页

章节摘录

  第1章 高效能的PL/SQL  本章讨论PL/SQL的效能。这里故意避开术语“性能”,因为效能不只是性能。我们将准确地定义什么是“高效能的PL/SQL”,并解释如何使PL/SQL代码符合这个定义。  当恰到好处地使用PL/SQL时,可以构建出性能良好、便于日后修改并可以应付大量用户的应用程序。PL/SQL应该成为基于数据库的应用程序开发必选的开发语言。因此,当在公司里使用Oracle时,应该鼓励将PL/SQL作为应用程序的不可或缺的组件。  1.1 为何使用PL/SQL  在讲述与PL/SQL效能有关的重要问题之前,先来看一下开发者这几年经常问的问题:“我真的需要使用PL/SQL吗?”  自从上世纪80年代末起,人们一直在忙于使应用程序摆脱大型机,首先转向客户-服务器应用(client-server),然后又转向基于Web的解决方案,应用程序的数据(保存于Oracle数据库中)已经远远脱离了应用程序代码本身。  因而,当存储过程第一次出现于Oracle版本7服务器端的时候,其卖点就是作为在慢速网络中改善客户/服务器(client/server)应用程序性能的解决方案。我们摒弃了从客户端应用程序发送很多离散数据库调用的做法,而将这些调用绑定于服务器端的PL/SQL存储过程中,客户端只需要发送一个简单的调用,这样就可以减少对网络速度的依赖。  这是对PL/SQL价值的严重贬损(让我们面对它吧,我们真不希望贬损Oracle的任何一个特点)。更糟糕的是,它导致了一个错误观点:如果你不准备将应用程序运行于广域网,就不需要PL/SQL。但本书将反复证明,在Oracle项目中不使用PL/SQL就等于编程时将一只手绑在后背上。然而,在一个项目中,你首先要面临的难题可能并不是如何保证高效地运用PL/SQL,而是如何说服管理者心悦诚服地使用它!

前言

  最近,我在一家网上书店搜索关于PL/SQL的图书,结果返回38条记录,还不包括这本书。38本书!据我所知,它们中没有一本书可以作为风靡全球的畅销书摆放于哈利?波特那些书的旁边,那么究竟是什么鼓舞着我们这群作者走到一起写出关于这个主题的第39本书呢?  原因是,无论可用的图书如何过剩,我们仍然在Oracle应用中遇到了许多低劣或陈旧的PL/SQL代码。我个人曾经使用过世界各地的许多Oracle系统,虽然应用程序、架构和方法迥异,但我发现几乎所有这些系统中都有两个共同点。它们要么没有用到Oracle特有的功能,要么是以无计划和不太理想的方式在使用。这种情况在PL/SQL上最为明显,在我遇到的很多系统中,PL/SQL被真正利用的很少,大部分都是误用。  至少部分问题在于大多数的PL/SOL书只关注语法。它们会展示如何编写PL/SQL代码以通过编译并在系统上运行(有些书进一步提供了良好的命名标准和编程结构的指导思想)。但是,就像其他编程语言一样,会用一门语言和用好这门语言有着天壤之别。要构建成功的应用程序,关键在于要巧妙地运用语法知识来编写出健壮、高效且易于维护的程序。这就是写作本书并起这么个书名的动机。我们不是要把你变成PL/SQL程序员,而是要把你变成一位精明的PL/SQL程序员。

内容概要

Connor McDonald 世界著名的Oracle技术专家,Oracle认证专家,具有十多年的Oracle系统开发经验,以精深的PL/SQL造诣享誉业界。他的个人网站www.oracledba.co.uk是极具影响的Oracle技术资源。
Chaim Katz Oracle认证专家,擅长数据库管理和PL/SQL开发,为各种Oracle技术期刊写过大量文章。
Christopher Beck Oracle公司资深技术专家,专攻核心数据库技术和Web应用开发。除本书外,他还与Joel R. Kallman和Tom Kyte等人合著了畅销书Beginning Oracle Programming。
Joel R. Kallman Oracle公司软件开发总监。
David C. Knox 世界著名的Oracle安全专家,Oracle公司Solution Engineering集团的高级总监。

书籍目录

第1章 高效能的PL/SQL
1.1 为何使用PL/SQL
1.1.1 PL/SQL贴近数据
1.1.2 最简单的通常是最好的
1.2 什么是高效能的PL/SQL
1.2.1 性能
1.2.2 影响
1.2.3 可论证性
1.3 达到高效能
1.3.1 绑定变量和解析的代价
1.3.2 使用PL/SQL的可用特性
1.3.3 不要使用PL/SQL来做SQL的工作
1.4 小结
第2章 全部打包
2.1 包的基本好处
2.1.1 包的重载
2.1.2 包中的公有变量和私有变量
2.1.3 初始化
2.1.4 信息隐藏
2.2 独立的过程和依赖危机
2.3 打破依赖链
2.4 使用递归
2.5 人们为何避而不用包
2.5.1 忽视分离的好处
2.5.2 这是个包,不是库
2.6 何时不能使用包
2.7 发布包
2.7.1 路径跟踪编程变得简单
2.7.2 其他有用的例程
2.7.3 检索DDL
2.7.4 DBMS_ROWID的有趣应用
2.7.5 后台任务
2.8 小结
第3章 令人困惑的游标
3.1 显式游标与隐式游标
3.1.1 单行的读取
3.1.2 多行处理
3.1.3 TOP-N处理
3.1.4 结论
3.2 跨架构的游标管理
3.2.1 游标变量
3.2.2 游标表达式
3.3 小结
第4章 高效数据处理
4.1 控制数据类型
4.1.1 使用%TYPE属性
4.1.2 使用包集中控制数据类型
4.1.3 避免隐式数据类型转换
4.2 从字段到行——使用%ROWTYPE
4.3 从记录到对象
4.3.1 对象类型
4.3.2 用集合扩展runstats
4.4 在PL/SQL中使用集合的动机
4.5 用集合来批处理
4.5.1 批收集
4.5.2 批量绑定
4.6 在PL/SQL程序间传递变量
4.6.1 将%TYPE和%ROWTYPE作为参数传递
4.6.2 将集合作为参数传递
4.7 PL/SQL中的事务处理
4.8 自治事务
4.8.1 在触发器中避免变异表错误
4.8.2 作为事务的一部分执行DDL
4.8.3 审计SELECT语句
4.8.4 回滚后保持审计
4.9 小结
第5章 PL/SQL优化技巧
5.1 尽量减少解析和内存消耗
5.1.1 触发器内的代码
5.1.2 调用者权限过程
5.1.3 解放思想:使用管道函数
5.2 数据类型:提示和技巧
5.2.1 关联数组
5.2.2 集合
5.2.3 使用基于记录的DML时的问题
5.3 调用PL/SQL
5.3.1 使用PL/SQL来显露数据模型,而不是扩展它
5.3.2 动态调用PL/SQL
5.4 PL/SQL中的SQL
5.4.1 SQL函数和递归SQL
5.4.2 高效的动态SQL
5.5 小结
第6章 触发器
6.1 触发器概念
6.1.1 触发器类型
6.1.2 事件属性
6.1.3 触发器计时
6.1.4 多个相似的触发器
6.1.5 DML行前与行后触发器的性能
6.1.6 权限
6.1.7 触发器和数据字典
6.1.8 触发器依赖性
6.1.9 触发器状态
6.1.10 触发器失败
6.1.11 触发器的局限性
6.2 DML触发器
6.2.1 存储审计信息
6.2.2 实现转变约束
6.2.3 生成代理键
6.3 替代触发器
6.4 变异表
6.4.1 延时处理方案
6.4.2 变异表和自治事务
6.4.3 其他变异表错误
6.5 数据审计
6.6 表的多版本
6.7 Oracle流
6.8 作业队列(临时事件触发器)
6.8.1 作业调度
6.8.2 作业和DML触发器
6.8.3 作业与共享池
6.8.4 作业错误
6.9 DDL触发器
6.9.1 DDL完整性触发器
6.9.2 DDL审计跟踪
6.10 数据库事件触发器
6.11 登录触发器
6.11.1 服务器错误触发器
6.11.2 挂起事件触发器
6.11.3 错误和数据库事件触发器
6.12 别“重造轮子”
6.13 小结
第7章 DBA包
7.1 警告文件包
7.1.1 包结构
7.1.2 警告文件的结构
7.1.3 警告文件作为外部表
7.1.4 处理警告文件
7.1.5 异常
7.1.6 通知的生命周期
7.1.7 更替警告文件
7.1.8 调度和并发
7.1.9 使用警告文件的警告
7.1.10 回顾警告文件的内容
7.1.11 小结
7.2 通知包
7.2.1 SEND_EMAIL过程
7.2.2 在数据库中保存警告消息
7.2.3 小结
7.3 主动监控包
7.3.1 备份
7.3.2 归档日志目录下的空闲空间
7.3.3 监控数据库中的空闲空间
7.3.4 小结
7.4 历史数据包
7.4.1 数据库大小
7.4.2 数据库会话
7.4.3 资源限制
7.4.4 小结
7.5 小结
第8章 安全包
8.1 设计问题
8.1.1 回顾定义者和调用者权限
8.1.2 包的构建
8.1.3 模式,到处都是模式
8.1.4 代码发布
8.2 触发器与安全因素
8.2.1 安全检查
8.2.2 登录触发器:第一道防线
8.3 保护源代码
8.3.1 查看过程和函数的源代码
8.3.2 包的源代码
8.3.3 PL/SQL封装工具
8.4 小结
第9章 Web包
9.1 PL/SQL Web工具包基础
9.1.1 架构
9.1.2 包的汇总
9.1.3 从SQL*Plus测试工具包
9.2 HTP和HTF包
9.3 使用环境变量
9.4 cookie
9.5 管理文件
9.6 通过Web管理表
9.7 来自数据库的HTTP
9.7.1 提取HTML
9.7.2 使用UTL_HTTP的Web服务客户端
9.8 小结
第10章 PL/SQL调试
10.1 防卫型的编码
10.1.1 异常
10.1.2 装备你的代码
10.1.3 写文档
10.2 工具
10.2.1 DBMS_OUTPUT
10.2.2 SQLCODE和SQLERRM
10.2.3 DBMS_UTILITY.FORMAT_CALL_STACK
10.2.4 DBMS_APPLICATION_INFO
10.2.5 自治事务
10.2.6 UTL_FILE
10.2.7 用管道函数实时调试
10.3 自定义BEBUG工具
10.3.1 需求
10.3.2 数据库设计和安装
10.3.3 包的布局
10.3.4 实现
10.3.5 基本操作
10.3.6 使用STATUS
10.3.7 有选择的调试
10.3.8 调试成品代码
10.3.9 DEBUG的用处
10.4 小结
附录A 构建DEBUG

编辑推荐

  《精通Oracle PL/SQL》对于Oracle技术人员而言,怎么强调掌握PL/SQL的重要性都不过分。但是,真正精通PL/SQL绝非易事。事实上。在现有的Oracle应用程序中充斥着太多质量不佳的PL/SQL代码,它们要么没有充分利用Oracle特有的功能,要么是在误用或者滥用。这种现象导致了许多对PL/SQL本身能力不公正的批评。  《精通Oracle PL/SQL》由全球Oracle技术专家组织0akTable Network的多位大师联手编写。是为PL/SQL.LT.名的名著。与市面上许多PL/SQL图书只是纸上谈兵、局限于语法和功能本身不同,《精通Oracle PL/SQL》从实战出发。讲述如何正确、充分地运用语言特性,除了PUSQL的基本功能之外,也包括数据的高效处理、安全、触发器、高效的调试技术等。作者在讲解每一个特性时都辅以经过实战检验的示例。更与读者分享了大量多年积累的独家经验。有《精通Oracle PL/SQL》在手。你将学会如何充分发挥PL/SQL的巨大潜能。编写出可靠、高效且易于维护的一流程序。  Amazon五星图书,五位世界级技术专家联袂巨献;提供大量实战方案;教你编写健壮、高效且易于维护PL/SQL代码。

作者简介

对于Oracle技术人员而言,怎么强调掌握PL/SQL的重要性都不过分。但是,真正精通PL/SQL绝非易事。事实上,在现有的Oracle应用程序中充斥着太多质量不佳的PL/SQL代码,它们要么没有充分利用Oracle特有的功能,要么是在误用或者滥用。这种现象导致了许多对PL/SQL本身能力不公正的批评。
本书由全球Oracle技术专家组织OakTable Network的多位大师联手编写,是为PL/SQL正名的名著。与市面上许多PL/SQL图书只是纸上谈兵、局限于语法和功能本身不同,本书从实战出发,讲述如何正确、充分地运用语言特性,除了PL/SQL的基本功能之外,也包括数据的高效处理、安全、触发器、高效的调试技术等。作者在讲解每一个特性 时都辅以经过实战检验的示例,更与读者分享了大量多年积累的独家经验。有本书在手,你将学会如何充分发挥PL/SQL的巨大潜能,编写出可靠、高效且易于 维护的一流程序。

图书封面


 精通Oracle PL/SQL下载



发布书评

 
 


精彩短评 (总计15条)

  •     书中涉及到很多调优的知识,图灵的书就是好,很对我阅读的习惯
  •     总体感觉还可以,论证部分做的很到位,但是实质内容有些少。有些对不起这个价格。
  •     感觉不错 比看电子书舒服多了
    内容还没看多少 觉得翻译得还可以 没什么难懂的地方
  •     书纸质本身质量还可以,需要有点PLSQL基础的人来看,讲优化效率的章节多,初级的人还是看些写语法的书吧。

    不好的地方
    1.翻译的不怎么好,翻译的比较生硬。而且,SQL沉思录与精通PLSQL两本书竟然没有在书中介绍任何信息。
    2.无光盘。书中描述的是有光盘的,但是实际没带。
  •     这本书不错的,我现在时不时拿出来看看。
  •     高深的书,还没时间仔细拜读
  •     还还,没什么可说的
  •     大师作品,很多值得学习的地方。(我不是书托!)
  •     一般,建议不要买。
  •     实例比较多,翻译一般,内容希望能更充实点。不过,是一本值得参考的书
  •     不错,要搞存储过程的人怎能不看
  •     这本书真的跟其他的书不一样,里面有的讲解的很详细。个人感觉这本书不错,但是不适合初学者,最好有经验的,这样读起来就很方便的!
  •     没什么突出的地方
  •     是自己更系统
  •     貌似买了一本我看不懂的书
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024