《精通Oracle SQL(第2版) 》

《精通Oracle SQL(第2版) 》

基本信息

作者: (美)Karen Morton    Kerry Osborne    Robyn Sands    Riyaj ShamsudeenJared Still   

译者: 朱浩波

丛书名: 图灵程序设计丛书

出版社:人民邮电出版社

ISBN:9787115351661

上架时间:2014-5-5

出版日期:2014 年5月

开本:16开

页码:1

版次:1-1

所属分类:计算机 > 数据库 > Oracle

 

更多关于》》》《精通Oracle SQL(第2版) 》

 

编辑推荐

      《精通Oracle SQL(第2版)》由Oracle 数据库领域顶尖技术组织OakTable成员倾力打造,第1版热卖,读者好评如潮。书中主要介绍了如何掌握在Oracle数据库中实现的强大SQL特性,所涵盖的内容涉及SQL核心、SQL执行、分析函数、联结、测试与质量保证等,并提供了大量实用的建议,总结出方方面面的“技巧”,帮助读者快速消化重要知识点。新版将数据库版本升级到12c,对旧版进行了大幅修订,并阐述了很多新特性。

  作为Oracle SQL经典著作,《精通Oracle SQL(第2版)》为SQL开发人员指明了前行方向,赋予了他们不断开拓的动力。

 

内容简介

    书籍

    计算机书籍

《精通oracle sql(第2版)》语言精炼、风趣,所涵盖的内容涉及sql 核心、sql 执行、分析函数、联结、测试与质量保证等,并提供大量实用性建议,且总结出方方面面的“技巧”,帮助读者在阅读过程中快速消化所看内容。新版针对oracle 12c 进行了大幅修订,以反映技术的最新发展动态。

《精通oracle sql(第2版)》旨在为oracle 数据库开发人员、dba 和架构师提供参考。

 

媒体评论

  “本书讲述清晰,可操作性强,是一本难得的Oracle SQL教程。”

  ——NoCOUG(北加州Oracle用户组)杂志

  “本书作者全部是OakTable的成员,Oracle开发经验丰富。书中研究了一些被其他Oracle SQL参考书直接忽略的问题,理解这些将极其有助深入钻研Oracle数据库。”

  ——亚马逊读者评论

 

目录

《精通oracle sql(第2版)》

第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子句 10

1.5.2 where子句 11

1.5.3 group by子句 11

1.5.4 having子句 12

1.5.5 select列表 13

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共享池 26

2.3 库高速缓存 27

2.4 完全相同的语句 28

2.5 sga缓冲区缓存 31

2.6 查询转换 34

2.6.1 查询块 35

2.6.2 视图合并 37

2.6.3 子查询解嵌套 41

2.6.4 联结消除 43

2.6.5 排序消除 45

2.6.6 谓词推进 46

2.6.7 使用物化视图进行查询重写 48

2.7 确定执行计划 50

2.8 执行计划并取得数据行 54

2.9 sql执行——总览 56

2.10 小结 57

第3章 访问和联结方法 58

3.1 全扫描访问方法 58

3.1.1 如何选择全扫描操作 59

3.1.2 全扫描与舍弃 62

3.1.3 全扫描与多块读取 63

3.1.4 全扫描与高水位线 63

3.2 索引扫描访问方法 68

3.2.1 索引结构 69

3.2.2 索引扫描类型 71

3.2.3 索引唯一扫描 75

3.2.4 索引范围扫描 76

3.2.5 索引全扫描 77

3.2.6 索引跳跃扫描 80

3.2.7 索引快速全扫描 81

3.3 联结方法 82

3.3.1 嵌套循环联结 83

3.3.2 排序—合并联结 85

3.3.3 散列联结 86

3.3.4 笛卡儿联结 89

3.3.5 外联结 90

3.4 小结 95

第4章 sql是关于集合的 96

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

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

4.1.2 面向过程与基于集合的思维方式:例子 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 空值与集合运算 111

4.3.3 空值与group by和order by 112

4.3.4 空值与聚合函数 114

4.4 小结 114

第5章 提出问题 115

5.1 问出好的问题 115

5.2 提问的目的 116

5.3 问题的种类 116

5.4 问题的问题 118

5.5 数据的问题 120

5.6 建立逻辑表达式 125

5.7 小结 130

第6章 sql执行计划 131

6.1 解释计划 131

6.1.1 使用解释计划 131

6.1.2 plan_table 133

6.1.3 分解计划 135

6.1.4 导致解释计划未达目的的原因 136

6.1.5 阅读计划 139

6.1.6 访问和筛选谓语 140

6.1.7 使计划便于阅读 141

6.2 执行计划 142

6.2.1 查看最近生成的sql语句 142

6.2.2 查看相关执行计划 142

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

6.2.4 标识sql语句以便以后取回计划 146

6.2.5 深入理解dbms_xplan 149

6.2.6 使用sql监控报告 154

6.2.7 使用计划信息解决问题 157

6.3 小结 166

第7章 高级分组 167

7.1 基本的group by用法 167

7.2 having子句 170

7.3 group by的“新”功能 172

7.4 group by的cube扩展 172

7.5 cube的实际应用 178

7.6 用grouping()函数排除空值 184

7.7 用grouping()扩展报告 185

7.8 用grouping_id()扩展报告 186

7.9 grouping sets与rollup() 190

7.10 group by局限性 192

7.11 小结 195

第8章 分析函数 196

8.1 概览 196

8.2 示例数据 197

8.3 分析函数剖析 197

8.4 函数列表 198

8.5 聚合函数 199

8.5.1 跨越整个分区的聚合函数 200

8.5.2 细粒度窗口声明 201

8.5.3 默认窗口声明 201

8.6 lead和lag 201

8.6.1 语法和排序 202

8.6.2 例1:从前一行中返回一个值 202

8.6.3 理解数据行的位移 203

8.6.4 例2:从下一行中返回一个值 203

8.7 first_value和last_value 204

8.7.1 例子:使用first_value计算最大值 205

8.7.2 例子:使用last_value计算最小值 206

8.8 其他分析函数 206

8.8.1 nth_value 206

8.8.2 rank 208

8.8.3 dense_rank 209

8.8.4 row_number 210

8.8.5 ratio_to_report 211

8.8.6 percent_rank 212

8.8.7 percentile_cont 213

8.8.8 percentile_disc 215

8.8.9 ntile 216

8.8.10 stddev 217

8.8.11 listagg 218

8.9 性能调优 219

8.9.1 执行计划 220

8.9.2 谓词 220

8.9.3 索引 221

8.10 高级话题 222

8.10.1 动态sql 222

8.10.2 嵌套分析函数 224

8.10.3 并行 224

8.10.4 pga大小 225

8.11 组织行为 225

8.12 小结 226

第9章 model子句 227

9.1 电子表格 228

9.2 使用model子句实现跨行引用 228

9.2.1 示例数据 228

9.2.2 剖析model子句 229

9.2.3 规则 230

9.3 位置和符号引用 231

9.3.1 位置标记 231

9.3.2 符号标记 232

9.3.3 for循环 233

9.4 返回更新后的行 234

9.5 求解顺序 235

9.5.1 行求解顺序 235

9.5.2 规则求解顺序 237

9.6 聚合 239

9.7 迭代 240

9.7.1 示例 240

9.7.2 presentv与空值 241

9.8 查找表 242

9.9 空值 244

9.10 使用model子句进行性能调优 245

9.10.1 执行计划 245

9.10.2 谓词推进 248

9.10.3 物化视图 250

9.10.4 并行 251

9.10.5 model子句执行中的分区 252

9.10.6 索引 253

9.11 子查询因子化 254

9.12 小结 255

第10章 子查询因子化 256

10.1 标准用法 256

10.2 用with定义pl/sql函数 259

10.3 sql优化 261

10.3.1 测试执行计划 261

10.3.2 测试查询改变的影响 265

10.3.3 寻找其他优化机会 268

10.3.4 将子查询因子化应用到pl/sql中 272

10.4 递归子查询 275

10.4.1 connect by示例 275

10.4.2 rsf示例 277

10.4.3 rsf的限制条件 278

10.4.4 与connect by的不同点 278

10.5 复制connect by的功能 279

10.5.1 level伪列 280

10.5.2 sys_connect_by_path函数 281

10.5.3 connect_by_root运算符 283

10.5.4 connect_by_iscycle伪列和nocycle参数 285

10.5.5 connect_by_isleaf伪列 288

10.6 小结 292

第11章 半联结和反联结 294

11.1 半联结 294

11.2 半联结执行计划 302

11.3 控制半联结执行计划 307

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

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

11.4 半联结限制条件 311

11.5 半联结必要条件 313

11.6 反联结 314

11.7 反联结执行计划 318

11.8 控制反联结执行计划 327

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

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

11.9 反联结限制条件 331

11.10 反联结必要条件 334

11.11 小结 334

第12章 索引 335

12.1 理解索引 336

12.1.1 什么时候使用索引 336

12.1.2 列的选择 338

12.1.3 空值问题 339

12.2 索引结构类型 340

12.2.1 b-树索引 340

12.2.2 位图索引 341

12.2.3 索引组织表 342

12.3 分区索引 344

12.3.1 局部索引 344

12.3.2 全局索引 346

12.3.3 散列分区与范围分区 347

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

12.4.1 压缩索引 350

12.4.2 基于函数的索引 352

12.4.3 反转键索引 354

12.4.4 降序索引 355

12.5 管理问题的解决方案 356

12.5.1 不可见索引 356

12.5.2 虚拟索引 358

12.5.3 位图联结索引 358

12.6 小结 360

第13章 select以外的内容 361

13.1 insert 361

13.1.1 直接路径插入 361

13.1.2 多表插入 363

13.1.3 条件插入 365

13.1.4 dml错误日志 365

13.2 update 371

13.2.1 ctas与update的差别 371

13.2.2 insert append与update的差别 374

13.3 delete 377

13.4 merge 380

13.4.1 语法和用法 380

13.4.2 性能比较 384

13.5 小结 385

第14章 事务处理 387

14.1 什么是事务 387

14.2 事务的acid属性 388

14.3 事务隔离级别 389

14.4 多版本读一致性 391

14.5 事务控制语句 392

14.5.1 commit(提交) 392

14.5.2 savepoint(保存点) 392

14.5.3 rollback(回滚) 392

14.5.4 set transaction(设置事务) 392

14.5.5 set constraints(设置约束) 393

14.6 将运算分组为事务 393

14.7 订单录入模式 394

14.8 活动事务 400

14.9 使用保存点 401

14.10 序列化事务 404

14.11 隔离事务 407

14.12 自治事务 410

14.13 小结 414

第15章 测试与质量保证 415

15.1 测试用例 416

15.2 测试方法 417

15.2.1 单元测试 418

15.2.2 回归测试 421

15.2.3 模式修改 422

15.2.4 重复单元测试 425

15.3 执行计划比较 426

15.4 性能测量 431

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

15.4.2 性能测试 436

15.5 破坏性测试 437

15.6 使用性能测量进行系统检修 439

15.7 小结 441

第16章 计划稳定性 443

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

16.1.1 统计信息的变化 444

16.1.2 运行环境的改变 446

16.1.3 sql语句的改变 448

16.1.4 绑定变量窥视 448

16.1.5 自适应游标共享 451

16.2 统计信息反馈 455

16.3 识别执行计划的不稳定性 459

16.3.1 抓取当前运行查询的数据 460

16.3.2 查看语句的性能历史 461

16.3.3 按照执行计划聚合统计信息 462

16.3.4 寻找执行计划的统计方差 463

16.3.5 在一个时间点附近检查偏差 464

16.4 小结 465

第17章 计划控制 466

17.1 执行计划控制:解决问题 466

17.1.1 调整查询结构 467

17.1.2 适当使用常量 467

17.1.3 给优化器一些提示 467

17.2 执行计划控制:不能直接访问代码 475

17.2.1 选项1:改变统计信息 475

17.2.2 选项2:改变数据库参数 477

17.2.3 选项3:增加或移除访问路径 478

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

17.2.5 大纲 479

17.2.6 sql概要文件 482

17.2.7 sql执行计划基线 498

17.2.8 sql补丁 507

17.2.9 基于提示的计划控制机理小结 509

17.3 小结 509

第18章 其他sql结构 510

18.1 条件逻辑结构 510

18.1.1 decode 510

18.1.2 case 511

18.1.3 nvl、nvl2和coalesce 515

18.1.4 nullif 517

18.2 pivot/unpivot查询 518

18.2.1 pivot 518

18.2.2 unpivot 523

18.3 生成测试数据的sql 526

18.3.1 想要得到什么样的数据 526

18.3.2 connect by 527

18.3.3 model子句 529

18.3.4 递归with子句 529

18.3.5 数据生成小结 530

18.4 小结 530

本图书信息来源:互动出版网

 

转载于:https://www.cnblogs.com/china-pub/p/3715711.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于oracle技术人员而言,怎么强调掌握pl/sql的重要性都不过分。但是,真正精通pl/sql绝非易事。事实上,在现有的oracle应用程序中充斥着太多质量不佳的pl/sql代码,它们要么没有充分利用oracle特有的功能,要么是在误用或者滥用。这种现象导致了许多对pl/sql本身能力不公正的批评。.    本书由全球oracle技术专家组织oaktable network的多位大师联手编写,是为pl/sql正名的名著。与市面上许多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公司SolutioncEngineering集团的高级总监....

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值