搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Oracle PL/SQL实战
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787115294852
  • 作      者:
    (美)John Beresniewicz[等]著
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2012
收藏
编辑推荐
     汇聚Oracle专家集体智慧
     内容贴近实战,讲解透彻精彩
     DBA修炼内力必读秘籍
展开
作者简介
     John Beresniewicz(约翰·贝雷斯尼维奇),是位于加州红木城红木岸(Redwood Shores)的Oracle总部技术团队的一名咨询顾问。他于2002年加入Oracle,负责企业管理器的数据库性能领域,他对诊断和调优包、实时应用测试、支持工作台和Exadata的设计作出了重要贡献。多年以来,他经常在Oracle全球大会和其他会议上发言,发言主题包括数据库性能和PL/SQL编程。他与Steven Fellerstein合著了Oracle Built-in Packages(O’Reilly&Associates,1998年)一书,并且是OakTable网络的创始人之一。

     译者简介:
     卢涛,1995年参加工作,高级程序员、系统分析师、高级工程师。2004年起接触Oracle数据库,获得Oracle数据库管理9i至11g、PL/SQL开发、性能优化、RAC管理、数据仓库等多个OCP、OCE、OCS认证。ITPUB社区Oracle开发版版主,《剑破冰山——Oracle开发艺术》一书合著者。做过需求分析、系统分析、架构设计、数据库和应用程序性能优化等工作。参与数次全国性普查数据处理系统的设计、开发和运维。
展开
内容介绍
    《图灵程序设计丛书·数据库系列:Oracle PL/SQL实战》共15章,分别由15位业内顶级专家担纲撰写。一条SQL语句的误用,可能导致作业的运行时间增加几百倍,Riyaj Shamsudeen巧妙地回答了何时使用PL/SQL这一问题;Michael Rosenblum说明了如果只有到最终运行时,才知道所要运行的SQL语句到底是什么,那该如何编写代码;Dominic Delmolino介绍了用PL/SQL进行并行处理的方法,以及这样能获得的益处和产生的额外负担。《Oracle PL/SQL实战》还有更多精彩内容等待读者一探究竟。
    《图灵程序设计丛书·数据库系列:Oracle PL/SQL实战》适合有一定PL/SQL基础的读者学习。
展开
精彩书评
     “本书作者阵容强大,内容全面实用,期待更多这种形式的技术书。”
     ——读者评论
展开
目录
第1章 避免误用
1.1 逐行处理
1.2 嵌套的逐行处理
1.3 查找式查询
1.4 对DUAL的过度访问
1.4.1 日期的算术运算
1.4.2 访问序列
1.4.3 填充主-从行
1.5 过多的函数调用
1.5.1 不必要的函数调用
1.5.2 代价高昂的函数调用
1.6 数据库链接调用
1.7 过度使用触发器
1.8 过度提交
1.9 过度解析
1.10 小结

第2章 动态SQL:处理未知
2.1 动态SQL的三种方式
2.1.1 本地动态SQL
2.1.2 动态游标
2.1.3 DBMS_SQL
2.2 动态思考的样例
2.3 安全问题
2.4 性能和资源利用率
2.4.1 反模式
2.4.2 比较动态SQL的实现
2.5 对象的依赖关系
2.5.1 负面影响
2.5.2 正面影响
2.6 小结

第3章 PL/SQL和并行处理
3.1 为什么需要并行处理
3.2 影响并行处理的定律
3.3 大数据的崛起
3.4 并行与分布式处理
3.5 并行硬件体系结构
3.6 确定目标
3.6.1 加速
3.6.2 按比例扩展
3.6.3 并行度
3.7 用于并行处理的候选工作负载
3.7.1 并行和OLTP
3.7.2 并行和非OLTP工作负载
3.8 MapReduce编程模型
3.9 在使用PL/SQL之前
3.10 可用于并行活动的进程
3.11 使用MapReduce的并行执行服务器
3.11.1 管道表函数
3.11.2 指导
3.11.3 并行管道表函数小结
3.12 小结

第4章 警告和条件编译
4.1 PL/SQL 警告
4.1.1 基础
4.1.2 使用警告
4.1.3 升级警告为错误
4.1.4 忽略警告
4.1.5 编译和警告
4.1.6 关于警告的结束语
4.2 条件编译
4.2.1 基础
4.2.2 正在运行代码的哪部分
4.2.3 预处理代码的好处
4.2.4 有效性验证
4.2.5 控制编译
4.2.6 查询变量
4.2.7 关于条件编译的结束语
4.3 小结

第5章 PL/SQL单元测试
5.1 为什么要测试代码
5.2 什么是单元测试
5.2.1 调试还是测试
5.2.2 建立测试的时机
5.3 单元测试构建工具
5.3.1 utPLSQL:使用命令行代码
5.3.2 Quest Code Tester for Oracle
5.3.3 Oracle SQL Developer
5.4 准备和维护单元测试环境
5.4.1 创建单元测试资料档案库
5.4.2 维护单元测试资料档案库
5.4.3 导入测试
5.5 构建单元测试
5.5.1 使用单元测试向导
5.5.2 创建第一个测试实施
5.5.3 添加启动和拆除进程
5.5.4 收集代码覆盖率统计信息
5.5.5 指定参数
5.5.6 添加进程验证
5.5.7 保存测试
5.5.8 调试和运行测试
5.6 扩大测试的范围
5.6.1 创建查找值
5.6.2 植入测试实施
5.6.3 创建动态查询
5.7 支持单元测试功能
5.7.1 运行报告
5.7.2 创建组件库
5.7.3 导出、导入和同步测试
5.7.4 构建套件
5.8 从命令行运行测试
5.9 小结

第6章 批量SQL操作
6.1 五金商店
6.2 设置本章的例子
6.3 在PL/SQL中执行批量操作
6.3.1 批量获取入门
6.3.2 三种集合风格的数据类型
6.3.3 为什么要自找麻烦
6.3.4 监控批量收集的开销
6.3.5 重构代码以使用批量收集
6.4 批量绑定
6.4.1 批量绑定入门
6.4.2 度量批量绑定性能
6.4.3 监视内存的使用
6.4.4 11g中的改进
6.5 批量绑定的错误处理
6.5.1 SAVE EXCEPTIONS和分批操作
6.5.2 LOG ERRORS子句
6.5.3 健壮的批量绑定
6.6 大规模集合的正当理由
6.7 真正的好处:客户端批量处理
6.8 小结

第7章 透识你的代码
7.1 本章内容取舍
7.2 自动代码分析
7.2.1 静态分析
7.2.2 动态分析
7.3 执行分析的时机
7.4 执行静态分析
7.4.1 数据字典
7.4.2 PL/Scope
7.5 执行动态分析
7.5.1 DBMS_PROFILER和DBMS_TRACE
7.5.2 DBMS_HPROF
7.6 小结

第8章 合同导向编程
8.1 契约式设计
8.1.1 软件合同
8.1.2 基本合同要素
8.1.3 断言
8.1.4 参考文献
8.2 实现PL/SQL合同
8.2.1 基本的ASSERT程序
8.2.2 标准的包本地断言
8.2.3 使用ASSERT执行合同
8.2.4 其他改进
8.2.5 合同导向函数原型
8.3 示例:测试奇数和偶数
8.4 有用的合同模式
8.4.1 用NOT NULL输入且输出NOT NULL
8.4.2 函数返回NOT NULL
8.4.3 布尔型函数返回NOT NULL
8.4.4 检查函数:返回TRUE或ASSERTFAIL
8.5 无错代码的原则
8.5.1 严格地断言先决条件
8.5.2 一丝不苟地模块化
8.5.3 采用基于函数的接口
8.5.4 在ASSERTFAIL处崩溃
8.5.5 对后置条件进行回归测试
8.5.6 避免在正确性和性能之间取舍
8.5.7 采用Oracle 11g优化编译
8.6 小结

第9章 从SQL调用PL/SQL
9.1 在SQL中使用PL/SQL函数的开销
9.1.1 上下文切换
9.1.2 执行
9.1.3 欠理想的数据访问
9.1.4 优化器的难点
9.1.5 读一致性陷阱
9.1.6 其他问题
9.2 降低PL/SQL函数的开销
9.2.1 大局观
9.2.2 使用SQL的替代品
9.2.3 减少执行
9.2.4 协助CBO
9.2.5 调优PL/SQL
9.3 小结

第10章 选择正确的游标
10.1 显式游标
10.1.1 解剖显式游标
10.1.2 显式游标和批量处理
10.1.3 REF游标简介
10.2 隐式游标
10.2.1 解剖隐式游标
10.2.2 隐式游标和额外获取的理论
10.3 静态REF游标
10.3.1 详细的游标变量限制清单
10.3.2 客户端和REF游标
10.3.3 有关解析的话题
10.4 动态REF游标
10.4.1 例子和最佳用法
10.4.2 SQL注入的威胁
10.4.3 描述REF游标中的列
10.5 小结

第11章 大规模PL/SQL编程
11.1 将数据库作为基于PL/SQL的应用服务器
11.1.1 案例研究:Avaloq银行系统
11.1.2 在数据库中使用PL/SQL实现业务逻辑的优势
11.1.3 用数据库作为基于PL/SQL的应用程序服务器的限制
11.1.4 软因素
11.2 大规模编程的要求
11.3 通过规范实现一致性
11.3.1 缩写词
11.3.2 PL/SQL标识符的前缀和后缀
11.4 代码和数据的模块化
11.4.1 包和相关的表作为模块
11.4.2 含有多个包或子模块的模块
11.4.3 模式作为模块
11.4.4 在模式内部模块化
11.4.5 用模式模块化与在模式内模块化的比较
11.5 使用PL/SQL面向对象编程
11.5.1 使用用户定义类型的面向对象编程
11.5.2 使用PL/SQL记录面向对象编程
11.5.3 评估
11.6 内存管理
11.6.1 测量内存使用
11.6.2 集合
11.7 小结

第12章 渐进式数据建模
12.1 从二十年的系统开发中总结的经验
12.2 数据库和敏捷开发
12.3 渐进式数据建模
12.4 重构数据库
12.5 通过PL/SQL创建访问层
12.6 敏捷宣言
12.7 用PL/SQL进行渐进式数据建模
12.7.1 定义接口
12.7.2 思考可扩展性
12.7.3 测试驱动开发
12.7.4 明智地使用模式和用户
12.8 小结

第13章 性能剖析
13.1 何谓性能
13.1.1 功能需求
13.1.2 响应时间
13.1.3 吞吐量
13.1.4 资源利用率
13.1.5 性能是功能的一种
13.2 什么是剖析
13.2.1 顺序图
13.2.2 概要文件之神奇
13.2.3 性能剖析的好处
13.3 性能测量
13.3.1 这个程序为什么慢
13.3.2 测量嵌入
13.3.3 识别
13.3.4 条件编译
13.3.5 内建的剖析器
13.3.6 扩展的SQL跟踪数据(事件10046)
13.3.7 针对Oracle的测量工具库(ILO)
13.4 问题诊断
13.4.1 R方法
13.4.2 ILO示例
13.4.3 剖析示例
13.5 小结

第14章 编码规范和错误处理
14.1 为什么要制订编码规范
14.2 格式化
14.2.1 大小写
14.2.2 注释
14.2.3 比较
14.2.4 缩进
14.3 动态代码
14.4 包
14.5 存储过程
14.5.1 命名
14.5.2 参数
14.5.3 调用
14.5.4 局部变量
14.5.5 常量
14.5.6 类型
14.5.7 全局变量
14.5.8 本地存储过程和函数
14.5.9 存储过程元数据
14.6 函数
14.7 错误处理
14.7.1 错误捕获
14.7.2 错误报告
14.7.3 错误恢复
14.7.4 先测试再显示
14.8 小结

第15章 依赖关系和失效
15.1 依赖链
15.2 缩短依赖链
15.3 数据类型引用
15.4 用于表修改的视图
15.5 把组件添加到包
15.6 依赖链中的同义词
15.7 资源锁定
15.8 用触发器强制执行依赖
15.9 创建最初禁用的触发器
15.10 小结
……
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证