基本信息
- 原书名:Mastering Oracle PL/SQL: Practical Solutions
- 原出版社: Apress
- 作者: (澳)Connor McDonald (加)Chaim Katz (美)Christopher Beck Joel R. Kallman David C.Knox
- 译者: 蔡伟毅
- 丛书名: 图灵程序设计丛书 数据库
- 出版社:人民邮电出版社
- ISBN:9787115208385
- 上架时间:2009-8-28
- 出版日期:2009 年9月
- 开本:16开
- 页码:439
- 版次:1-1
- 所属分类:计算机 > 数据库 > Oracle
编辑推荐
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的巨大潜能,编写出可靠、高效且易于 维护的一流程序。...
作译者
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.1 为何使用PL/SQL 1
1.1.1 PL/SQL贴近数据 2
1.1.2 最简单的通常是最好的 2
1.2 什么是高效能的PL/SQL 3
1.2.1 性能 4
1.2.2 影响 4
1.2.3 可论证性 5
1.3 达到高效能 10
1.3.1 绑定变量和解析的代价 10
1.3.2 使用PL/SQL的可用特性 19
1.3.3 不要使用PL/SQL来做SQL的工作 24
1.4 小结 42
第2章 全部打包 43
2.1 包的基本好处 43
2.1.1 包的重载 45
2.1.2 包中的公有变量和私有变量 46
2.1.3 初始化 46
2.1.4 信息隐藏 47
2.2 独立的过程和依赖危机 47
前言
原因是,无论可用的图书如何过剩,我们仍然在Oracle应用中遇到了许多低劣或陈旧的PL/SQL代码。我个人曾经使用过世界各地的许多Oracle系统,虽然应用程序、架构和方法迥异,但我发现几乎所有这些系统中都有两个共同点。它们要么没有用到Oracle特有的功能,要么是以无计划和不太理想的方式在使用。这种情况在PL/SQL上最为明显,在我遇到的很多系统中,PL/SQL被真正利用的很少,大部分都是误用。
至少部分问题在于大多数的PL/SQL书只关注语法。它们会展示如何编写PL/SQL代码以通过编译并在系统上运行(有些书进一步提供了良好的命名标准和编程结构的指导思想)。但是,就像其他编程语言一样,会用一门语言和用好这门语言有着天壤之别。要构建成功的应用程序,关键在于要巧妙地运用语法知识来编写出健壮、高效且易于维护的程序。这就是写作本书并起这么个书名的动机。我们不是要把你变成PL/SQL程序员,而是要把你变成一位精明的PL/SQL程序员。
本书内容
本书提供了大量的提示、技巧和完整策略,供你在公司中最充分地利用PL/SQL的优点。学完这本书之后,你将像我们一样确信,PL/SQL不只是一个有用的工具,它更是你所要开发的任何Oracle应用程序的有机组成部分。
我们将示范适用于Oracle所有版本(从8i到10g)的技术细节。本书中大多数例子是用Oracle9i R2测试的,你需要做的就是在SQL*Plus中运行它们。
接下来我们逐章介绍要涉及的主题。
安装:这部分展示如何搭建高效的SQL*Plus环境以及如何启动并运行书中用到的性能工具,即AUTOTRACE、SQL_TRACE、TKPROF和RUNSTATS。
第1章:高效能的PL/SQL。这一章给出了我们认为的“高效PL/SQL”的定义,并引入了贯穿全书的主题可论证性(demonstrability),即最终需要证明你的代码在所有合理的条件下都满足性能指标。这一章说明了为什么PL/SQL几乎总是数据库编程的正确工具,但也探讨了PL/SQL并不适合于哪些场合,这时需要创新性地使用SQL来完全避免过程式代码。..
第2章:全部打包。包不只是过程的逻辑组合,它们具有很多优势,既有重载和封装,又可有效防止依赖和重编译问题。这一章清晰地展示了这些优势,也讨论了Oracle提供的一些包的有趣应用。
第3章:令人困惑的游标。关于隐式游标和显式游标孰优孰劣一直存在着争议。这一章讨论了为什么显式游标并不像你想象中用得那么多,并介绍了在分布式应用程序中高效使用游标变量和游标表达式的一些情况。
第4章:高效数据处理。这一章展示了如何把数据库中的数据结构和PL/SQL程序中的数据结构最大限度地整合在一起,使代码健壮且易于修改。同时还讨论了如何更好地利用集合把数据从程序批量复制给数据库,抑或反之。
第5章:PL/SQL优化技巧。这一章提供了一些在PL/SQL开发中经常遇到的问题的现成解决方案。展示了如何避免一些隐藏的开销,并强调了一些容易使人犯错的“陷阱”(gotcha)。
第6章:触发器。这一章讲解了基本的触发器原理和高效使用各类触发器的一些方法,还研究了Oracle Streams(流)这一较新主题,并展示了如何使用它们来实现集中式数据审计跟踪。
第7章:DBA包。这一章介绍了“DBA工具包”——一组可以用来自动重现管理活动的包,例如用于性能诊断和解决故障、备份和恢复以及监控数据库故障。
第8章:安全包。这一章介绍PL/SQL包和触发器的使用,以在数据库中实现高效的安全机制。它讲解了一些基本问题,如调用者和定义者权限模型的使用、包的构建和模式设计,继而讨论了审计数据库活动和保护源代码等问题的具体解决方案。
第9章:Web包。这一章研究了一系列内建的数据库包,总称为PL/SQL Web工具包,该工具包可以让开发者以动态网页的方式直接展现数据库。这一章也讲解了cookie的使用、表和文件的管理以及如何从PL/SQL存储过程中直接调用Web服务等内容。
第10章:PL/SQL调试。很少有人第一次就能正确使用它,所以这一章对高效调试PL/SQL代码的技术做了大量陈述,从DBMS_OUTPUT的简单使用到DBMS_APPLICATION_INFO和UTL_FILE复杂包的使用。本章最后开发了一个巧妙的自定义调试工具DEBUG。
附录A:构建DEBUG。这个附录列出了第10章中用到的DEBUG工具的全部代码。
读者对象