Oracle SQL高级编程
4推荐 收藏
8.5K阅读
图灵程序设计丛书

Oracle SQL高级编程

Karen Morton , Kerry Osborne , Robyn Sands , Riyaj Shamsudeen , Jared Still (作者) 朱浩波 (译者)
终止销售
作者以精炼、风趣的语言揭开了Oracle SQL 高级编程的神秘面纱。所涵盖的内容涉及SQL 核心、SQL 执行、分析函数、联结、测试与质量保证等,并提供大量实用性建议,且总结出方方面面的“技巧”帮助读者在阅读过程中快速消化所看内容。

本书适合软件研发专业人士阅读,对软件项目管理感兴趣的社会各界人士也能从中获益。

收藏本书能做什么?

有情况的时候会收到通知,比如电子书发布等。

2018最受欢迎电子书 榜单出炉

技术类top20!/ 非技术类top20!

纸质书
¥89.00

出版信息

  • 书  名Oracle SQL高级编程
  • 系列书名图灵程序设计丛书
  • 执行编辑关于本书的内容有任何问题,请联系 傅志红
  • 出版日期2011-11-07
  • 书  号978-7-115-26614-9
  • 定  价89.00 元
  • 页  数512
  • 开  本16开
  • 出版状态终止销售
  • 原书名Pro Oracle SQL
  • 原书号978-1-4302-3228-5

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

本书特色

资深Oracle专家力作,OakTable团队推荐
全面、独到、翔实,题材丰富
Oracle开发人员和DBA必备

目录

第1 章 SQL 核心  1

1.1 SQL 语言  1

1.2 数据库的接口  2

1.3 SQL*Plus 回顾  3

1.3.1 连接到数据库  3

1.3.2 配置SQL*Plus 环境  4

1.3.3 执行命令  6

1.4 5 个核心的SQL 语句  8

1.5 SELECT 语句  8

1.5.1 FROM 子句  9

1.5.2 WHERE 子句  11

1.5.3 GROUP BY 子句  11

1.5.4 HAVING 子句  12

1.5.5 SELECT 列表  12

1.5.6 ORDER BY 子句  13

1.6 INSERT 语句  14

1.6.1 单表插入  14

1.6.2 多表插入  15

1.7 UPDATE 语句  17

1.8 DELETE 语句  20

1.9 MERGE 语句  22

1.10 小结  24

第2 章 SQL 执行  25

2.1 Oracle 架构基础  25

2.2 SGA-共享池  27

2.3 库高速缓存  28

2.4 完全相同的语句  29

2.5 SGA-缓冲区缓存  32

2.6 查询转换  35

2.7 视图合并  36

2.8 子查询解嵌套  39

2.9 谓语前推  42

2.10 使用物化视图进行查询重写  44

2.11 确定执行计划  46

2.12 执行计划并取得数据行  50

2.13 SQL 执行——总览  52

2.14 小结  53

第3 章 访问和联结方法  55

3.1 全扫描访问方法  55

3.1.1 如何选择全扫描操作  56

3.1.2 全扫描与舍弃  59

3.1.3 全扫描与多块读取  60

3.1.4 全扫描与高水位线  60

3.2 索引扫描访问方法  65

3.2.1 索引结构  66

3.2.2 索引扫描类型  68

3.2.3 索引唯一扫描  71

3.2.4 索引范围扫描  72

3.2.5 索引全扫描  74

3.2.6 索引跳跃扫描  77

3.2.7 索引快速全扫描  79

3.3 联结方法  80

3.3.1 嵌套循环联结  81

3.3.2 排序—合并联结  83

3.3.3 散列联结  84

3.3.4 笛卡儿联结  87

3.3.5 外联结  88

3.4 小结  94

第4 章 SQL 是关于集合的  95

4.1 以面向集合的思维方式来思考  95

4.1.1 从面向过程转变为基于集合的思维方式  96

4.1.2 面向过程vs.基于集合的思维方式:一个例子  100

4.2 集合运算  102

4.2.1 UNION 和UNION ALL  103

4.2.2 MINUS  106

4.2.3 INTERSECT   107

4.3 集合与空值  108

4.3.1 空值与非直观结果  108

4.3.2 集合运算中的空值行为  110

4.3.3 空值与GROUP BY 和ORDER BY   112

4.3.4 空值与聚合函数  114

4.4 小结  114

第5 章 关于问题  116

5.1 问出好的问题  116

5.2 提问的目的  117

5.3 问题的种类  117

5.4 关于问题的问题  119

5.5 关于数据的问题  121

5.6 建立逻辑表达式  126

5.7 小结  136

第6 章 SQL 执行计划  137

6.1 解释计划  137

6.1.1 使用解释计划  137

6.1.2 理解解释计划可能达不到目的的方式  143

6.1.3 阅读计划  146

6.2 执行计划  148

6.2.1 查看最近生成的SQL 语句  149

6.2.2 查看相关执行计划  149

6.2.3 收集执行计划统计信息  151

6.2.4 标识SQL 语句以便以后取回计划  153

6.2.5 深入理解DBMS_XPLAN 的细节  156

6.2.6 使用计划信息来解决问题  161

6.3 小结  169

第7 章 高级分组  170

7.1 基本的GROUP BY 用法  171

7.2 HAVING 子句   174

7.3 GROUP BY 的“新”功能  175

7.4 GROUP BY 的CUBE 扩展  175

7.5 CUBE 的实际应用   179

7.6 通过GROUPING()函数排除空值  185

7.7 用GROUPING()来扩展报告  186

7.8 使用GROUPING_ID()来扩展报告  187

7.9 GROUPING SETS 与ROLLUP()   191

7.10 GROUP BY 局限性  193

7.11 小结  196

第8 章 分析函数   197

8.1 示例数据  197

8.2 分析函数剖析   198

8.3 函数列表   199

8.4 聚合函数   200

8.4.1 跨越整个分区的聚合函数  201

8.4.2 细粒度窗口声明  201

8.4.3 默认窗口声明   202

8.5 Lead 和Lag    202

8.5.1 语法和排序  202

8.5.2 例1:从前一行中返回一个值  203

8.5.3 理解数据行的位移  204

8.5.4 例2:从下一行中返回一个值  204

8.6 First_value 和Last_value    205

8.6.1 例子:使用First_value 来计算最大值   206

8.6.2 例子:使用Last_value 来计算最小值   207

8.7 其他分析函数   207

8.7.1 Nth_value (11gR2)    207

8.7.2 Rank    209

8.7.3 Dense_rank    210

8.7.4 Row_number    211

8.7.5 Ratio_to_report   211

8.7.6 Percent_rank   212

8.7.7 Percentile_cont   213

8.7.8 Percentile_disc   215

8.7.9 NTILE  215

8.7.10 Stddev   216

8.7.11 Listagg   217

8.8 性能调优  218

8.8.1 执行计划  218

8.8.2 谓语  219

8.8.3 索引  220

8.9 高级话题  221

8.9.1 动态SQL   221

8.9.2 嵌套分析函数  222

8.9.3 并行  223

8.9.4 PGA 大小  224

8.10 组织行为  224

8.11 小结  224

第9 章 Model 子句  225

9.1 电子表格  225

9.2 通过Model 子句进行跨行引用  226

9.2.1 示例数据  226

9.2.2 剖析Model 子句  227

9.2.3 规则  228

9.3 位置和符号引用  229

9.3.1 位置标记  229

9.3.2 符号标记  230

9.3.3 FOR 循环  231

9.4 返回更新后的行  232

9.5 求解顺序  233

9.5.1 行求解顺序  233

9.5.2 规则求解顺序  235

9.6 聚合  237

9.7 迭代  237

9.7.1 一个例子  238

9.7.2 PRESENTV与空值  239

9.8 查找表  240

9.9 空值  242

9.10 使用Model子句进行性能调优  243

9.10.1 执行计划  243

9.10.2 谓语前推  246

9.10.3 物化视图  247

9.10.4 并行  249

9.10.5 Model 子句执行中的分区  250

9.10.6 索引  251

9.11 子查询因子化  252

9.12 小结  253

第10 章 子查询因子化  254

10.1 标准用法  254

10.2 SQL 优化  257

10.2.1 测试执行计划  257

10.2.2 跨多个执行的测试  260

10.2.3 测试查询改变的影响  263

10.2.4 寻找其他优化机会  266

10.2.5 将子查询因子化应用到PL/SQL 中  270

10.3 递归子查询  273

10.3.1 一个CONNECT BY 的例子  274

10.3.2 使用RSF 的例子  275

10.3.3 RSF 的限制条件  276

10.3.4 与CONNECT BY 的不同点  276

10.4 复制CONNECT BY 的功能  277

10.4.1 LEVEL 伪列  278

10.4.2 SYS_CONNECT_BY_PATH 函数  279

10.4.3 CONNECT_BY_ROOT 运算符  281

10.4.4 CONNECT_BY_ISCYCLE伪列和NOCYCLE 参数  284

10.4.5 CONNECT_BY_ISLEAF 伪列  287

10.5 小结  291

第11 章 半联结和反联结  292

11.1 半联结  292

11.2 半联结执行计划  300

11.3 控制半联结执行计划  305

11.3.1 使用提示控制半联结执行计划  305

11.3.2 在实例级控制半联结执行计划  308

11.4 半联结限制条件  310

11.5 半联结必要条件  312

11.6 反联结  312

11.7 反联结执行计划  317

11.8 控制反联结执行计划  326

11.8.1 使用提示控制反联结执行计划  326

11.8.2 在实例级控制反联结执行计划  327

11.9 反联结限制条件  330

11.10 反联结必要条件  333

11.11 小结  333

第12 章 索引  334

12.1 理解索引  335

12.1.1 什么时候使用索引  335

12.1.2 列的选择  337

12.1.3 空值问题  338

12.2 索引结构类型  339

12.2.1 B-树索引  339

12.2.2 位图索引  340

12.2.3 索引组织表  341

12.3 分区索引  343

12.3.1 局部索引  343

12.3.2 全局索引  345

12.3.3 散列分区与范围分区  346

12.4 与应用特点相匹配的解决方案  348

12.4.1 压缩索引  348

12.4.2 基于函数的索引  350

12.4.3 反转键索引  353

12.4.4 降序索引  354

12.5 管理问题的解决方案  355

12.5.1 不可见索引  355

12.5.2 虚拟索引  356

12.5.3 位图联结索引  357

12.6 小结  359

第13 章 SELECT 以外的内容  360

13.1 INSERT  360

13.1.1 直接路径插入  360

13.1.2 多表插入   363

13.1.3 条件插入   364

13.1.4 DML 错误日志   364

13.2 UPDATE  371

13.3 DELETE  376

13.4 MERGE   380

13.4.1 语法和用法  380

13.4.2 性能比较   383

13.5 小结   385

第14 章 事务处理   386

14.1 什么是事务   386

14.2 事务的ACID 属性   387

14.3 事务隔离级别  388

14.4 多版本读一致性   390

14.5 事务控制语句  391

14.5.1 Commit(提交)  391

14.5.2 Savepoint(保存点)    391

14.5.3 Rollback(回滚)    391

14.5.4 Set Transaction(设置事务)    391

14.5.5 Set Constraints(设置约束)    392

14.6 将运算分组为事务   392

14.7 订单录入模式  393

14.8 活动事务   399

14.9 使用保存点   400

14.10 序列化事务   403

14.11 隔离事务   406

14.12 自治事务   409

14.13 小结  413

第15 章 测试与质量保证   415

15.1 测试用例   416

15.2 测试方法   417

15.3 单元测试   418

15.4 回归测试   422

15.5 模式修改   422

15.6 重复单元测试  425

15.7 执行计划比较  426

15.8 性能测量   432

15.9 在代码中加入性能测量  432

15.10 性能测试  436

15.11 破坏性测试  437

15.12 通过性能测量进行系统检修  439

15.13 小结  442

第16 章 计划稳定性与控制  443

16.1 计划不稳定性:理解这个问题  443

16.1.1 统计信息的变化  444

16.1.2 运行环境的改变  446

16.1.3 SQL 语句的改变  447

16.1.4 绑定变量窥视  448

16.2 识别执行计划的不稳定性  450

16.2.1 抓取当前所运行查询的数据  451

16.2.2 查看一条语句的性能历史  452

16.2.3 按照执行计划聚合统计信息  454

16.2.4 寻找执行计划的统计方差  454

16.2.5 在一个时间点附近检查偏差  456

16.3 执行计划控制:解决问题  458

16.3.1 调整查询结构  459

16.3.2 适当使用常量  459

16.3.3 给优化器一些提示  459

16.4 执行计划控制:不能直接访问代码  466

16.4.1 选项1:改变统计信息  467

16.4.2 选项2:改变数据库参数  469

16.4.3 选项3:增加或移除访问路径  469

16.4.4 选项4:应用基于提示的执行计划控制机制  470

16.4.5 大纲  470

16.4.6 SQL 概要文件  481

16.4.7 SQL 执行计划基线  496

16.4.8 基于提示的执行计划控制机制总结  502

16.5 结论  502




相关文章

  • 出版圈郭志敏 4推荐

    SQL——以面向集合的思维方式来思考

      为了以有趣的方式更好地帮助你形成面向集合的思维方式,我将给出自己最喜欢的游戏之一——集合。你可以在线玩这个游戏,网址是www.setgame.com/puzzle/set.htm,每天都会贴出一个新的集合谜题。集合游戏是一个每张卡片上有4个特征的谜题:颜色、符号、底纹以及符…...

  • 看目录还不错,内容怎样?
    流星在线  发表于 2011-10-12 08:14:21
    推荐
    • 亚马逊评价相当好,可以参考原书链接。

      武卫东  发表于 2011-10-19 07:27:13
  • 这本书什么时候可以出来啊。期待啊。。。。。。
    流星在线  发表于 2011-10-29 10:02:34
    推荐
    • 出来了出来了。

      武卫东  发表于 2011-11-16 21:26:54
  • 这本书确实不错,翻译过程中我都感觉得到了很大的提高。阅读过程中发现翻译的问题欢迎给我发邮件讨论啊!zhuhaobo@yahoo.cn
    nickel  发表于 2011-11-23 17:16:10
    推荐
  • 很不错,收获颇丰,值得细细学习。
    jerker  发表于 2012-02-03 12:35:54
    推荐