图书介绍

剑破冰山 Oracle开发艺术pdf电子书版本下载

剑破冰山  Oracle开发艺术
  • 卢涛主编 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121120756
  • 出版时间:2011
  • 标注页数:520页
  • 文件大小:412MB
  • 文件页数:538页
  • 主题词:关系数据库-数据库管理系统,Oracle

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

剑破冰山 Oracle开发艺术PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 大话数据库编程规范 1

1.1 编程规范概述 1

1.2 书写规范 2

1.2.1 大小写风格 2

1.2.2 缩进风格 2

1.2.3 空格及换行 3

1.2.4 其他 4

1.3 命名规范 4

1.3.1 表和字段命名规范 4

1.3.2 其他对象命名 5

1.4 变量命名 7

1.5 注释规范 8

1.6 语法规范 9

1.7 脚本规范 12

规则1.7.1 13

规则1.7.2 13

规则1.7.3 13

第2章 Oracle开发常用工具及使用 14

2.1 AWR工具与性能优化 14

2.1.1 AWR介绍 14

2.1.2 AWR的安装与配置 15

2.1.3 AWR报表使用 15

2.1.4 分析AWR报表基本思路 17

2.1.5 案例 17

2.2 SQL_TRACE/10046事件 24

2.2.1 SQL_TRACE/10046事件是什么 24

2.2.2 总体流程介绍 24

2.2.3 SQL_TRACE/10046事件具体使用方法 24

2.2.4 案例分析 28

2.2.5 小结 32

2.3 计时和剖析工具 32

2.3.1 PLSQL_PROFILER概述 34

2.3.2 剖析举例 37

2.3.3 安全性 45

第3章 探索MERGE方法 46

3.1 MERGE是什么 46

3.2 Oracle 10g中MERGE的完善 48

3.2.1 UPDATE和INSERT动作可只出现其一 48

3.2.2 可对MERGE语句加条件 48

3.2.3 可用DELETE子句清除行 49

3.2.4 可采用无条件方式INSERT 49

3.3 MERGE误区探索 49

3.3.1 无法在源表中获得一组稳定的行 49

3.3.2 DELETE子句的WHERE顺序必须在最后 51

3.3.3 DELETE子句只可以删除目标表,而无法删除源表 52

3.3.4 更新同一张表的数据,需担心USING的空值 53

3.4 MERGE的巧妙运用 54

第4章 神秘的NULL和令人讨厌的CHAR 58

4.1 神秘的NULL 59

4.1.1 NULL概述 59

4.1.2 NULL与函数 64

4.1.3 NULL与索引 79

4.1.4 NULL与SQL 87

4.1.5 NULL与PL/SQL 97

4.1.6 再谈NULL和空字符串区别 101

4.1.7 NULL总结 101

4.2 令人讨厌的CHAR 102

4.2.1 CHAR与VARCHAR2基础 102

4.2.2 CHAR与SQL 105

4.2.3 CHAR与绑定变量 109

4.2.4 CHAR与PL/SQL 111

4.2.5 CHAR总结 112

第5章 报表开发之扩展GROUP BY 113

5.1 扩展GROUP BY概述 113

5.2 ROLLUP 114

5.2.1 UNION ALL实现ROLLUP功能 114

5.2.2 ROLLUP分组 116

5.2.3 部分ROLLUP分组 120

5.2.4 ROLLUP总结 121

5.3 CUBE 121

5.3.1 CUBE分组 121

5.3.2 部分CUBE分组 123

5.3.3 CUBE总结 124

5.4 GROUPING SETS实现小计 124

5.4.1 GROUPING SETS分组 124

5.4.2 部分GROUPING SETS分组 126

5.4.3 CUBE、ROLLUP作为GROUPING SETS的参数 126

5.4.4 GROUPING SETS总结 128

5.5 组合列分组、连接分组、重复列分组 128

5.5.1 组合列分组 130

5.5.2 连接分组 132

5.5.3 重复列分组 134

5.5.4 组合列分组、连接分组、重复列分组总结 134

5.6 3个扩展分组函数:GROUPING、GROUPING_ID、GROUP_ID 135

5.6.1 GROUPING函数 135

5.6.2 GROUPING_ID函数 138

5.6.3 GROUP_ID函数 142

5.6.4 扩展GROUP BY函数总结 144

5.7 扩展分组综合实例 144

第6章 探索Oracle自动类型转换 149

6.1 为什么不建议使用自动类型转换 150

6.2 自动类型转换规则 156

6.3 自动类型转换常见错误 166

第7章 Where in list问题解析 169

7.1 问题引入:动态SQL构造 170

7.2 使用正则表达式解决 172

7.3 使用常规字符串函数及动态视图 173

7.4 使用集合构造伪表 176

7.5 Where in list性能问题 178

7.6 Where in list问题总结 188

第8章 例说数据库表设计和大量数据处理方法 189

8.1 根据业务需求规划表结构 189

8.2 主键的确定 195

8.3 表的拆分、合并及数据的规范和反规范化 199

8.4 数据类型的选择 199

8.5 表的分区 203

8.6 表的压缩 203

8.7 抽取数据 205

8.7.1 利用SQL*PLUS的SPOOL功能 205

8.7.2 利用UTL_FILE 207

8.7.3 利用第三方工具 207

8.8 转换数据 207

8.8.1 数据的增删改 208

8.8.2 数据汇总 211

8.9 加载数据 227

8.9.1 利用SQLLDR加载 227

8.9.2 利用外部表加载 229

8.9.3 利用数据库链接加载 233

8.9.4 利用分区交换技术加载 234

8.10 逻辑导入/导出数据 240

第9章 数据审核 242

9.1 审核的分类 242

9.2 列审核设计 243

9.2.1 直接使用SQL语句 245

9.2.2 提高审核效率 248

9.2.3 管理审核关系 254

9.2.4 单个列的复杂审核 257

9.3 行审核设计 258

9.3.1 重码的审核 259

9.3.2 直接使用SQL语句 260

9.3.3 管理审核关系 261

9.3.4 行间包含四则运算的审核思路 266

9.3.5 更复杂的行间审核思路 267

9.4 小结 267

第10章 趣谈Oracle分析函数 269

10.1 概述 269

10.2 函数语法 270

10.3 函数列表 276

10.4 函数用法 277

10.4.1 最常见的分析函数应用场景 279

10.4.2 ROWS的具体用法 280

10.4.3 RANGE的具体用法 281

10.4.4 KEEP的用法 283

10.5 函数功能详解 284

10.5.1 统计函数 284

10.5.2 排序函数 285

10.5.3 数据分布函数 287

10.5.4 统计分析函数 289

10.6 分析函数在BI及统计上的应用 290

10.6.1 现状分析 290

10.6.2 发展分析 297

10.7 自定义聚集函数 298

10.7.1 自定义聚集函数接口简介 298

10.7.2 应用场景一:字符串聚集 299

10.7.3 应用场景二:指数移动平均线 301

第11章 Oracle层次查询 305

11.1 概述 305

11.2 样例数据 306

11.3 CONNECTBY和START WITH查询 306

11.3.1 概述 306

11.3.2 基本语法 306

11.3.3 样例 308

11.4 SYS_CONNECT_BY_PATH函数 313

11.5 WMSYS.WM_CONCAT非公开函数 314

第12章 号段选取应用 316

12.1 问题的提出 316

12.2 相关基础知识 317

12.2.1 伪列rownum和level 317

12.2.2 利用层次查询构造连续的数 317

12.2.3 用lead和lag获得相邻行的字段值 318

12.3 解决问题 320

12.3.1 已知号码求号段 320

12.3.2 根据号段求出包含的数 324

12.3.3 求缺失的号 326

12.3.4 求尚未使用的号段 330

12.4 小结 334

第13章 分析SQL执行计划的关注点 335

13.1 返回行与逻辑读的比率 335

13.2 聚合查询 338

13.3 返回行的数量 341

13.4 Oracle预测行准确与否 342

13.5 Predicate Information 346

13.6 动态采样 348

13.7 谁是主要矛盾 349

第14章 Oracle开发误区探索 352

14.1 避免对列运算 352

14.2 消除隐式转换 354

14.3 关注空格 354

14.4 存储过程与权限 355

14.5 提防DDL提交事务 357

14.6 Insert into错误 359

14.7 关于or 360

14.8 sequence中的cache 361

14.9 树形查询易错处 364

14.10 小心保留字 367

14.11 函数索引陷阱 371

14.12 外连接陷阱 374

14.13 标量子查询 375

第15章 提升PL/SQL开发性能漫谈 378

15.1 重视解析 378

15.1.1 触发器尽量考虑内部代码过程封装 378

15.1.2 避免动态SQL 380

15.1.3 OLTP系统中尽量使用绑定变量 382

15.2 关注调用 384

15.2.1 减少对sysdate的调用 384

15.2.2 避免对mod函数的调用 385

15.2.3 设法减少表扫描次数 386

15.2.4 避免SQL中的函数调用 391

15.3 简洁为王 395

15.3.1 尽量用简单SQL替代PL/SQL逻辑 395

15.3.2 避免不必要的排序 397

15.3.3 利用Oracle现有功能 399

15.4 细致入微 400

15.4.1 使用pls integer类型 400

15.4.2 避免数据类型转换 400

15.4.3 IF的顺序有讲究 402

15.4.4 设计开发对列是否为空慎重决定 404

15.4.5 分布式应用开发不可不知的HINT(driving_site) 407

第16章 管道函数的学习与实战应用 410

16.1 管道函数编写要点 410

16.2 功能描述及案例 411

16.2.1 可直接用TABLE()操作符方式输出结果集 411

16.2.2 结果集可作为表来使用,直接和其他表相关联 411

16.2.3 实现实时跟踪 412

16.3 管道函数注意点 414

16.3.1 清楚管道函数只是表函数的一种 414

16.3.2 管道函数与DML 415

16.3.3 管道函数集合的限制 416

16.3.4 与管道函数相关的异常NO_DATA_NEEDED 417

第17章 巧用锁特性避免重复启动同一程序 420

17.1 基本技巧介绍 420

17.2 原理介绍 422

17.3 程序代码 423

17.4 测试 426

17.5 需要注意的点 427

第18章 11g R2新特性之递归with编程精粹 428

18.1 上下级关系 429

18.2 构造数列 435

18.3 排列组合问题 441

18.4 沿路径计算 457

18.5 国际SQL挑战赛 473

第19章 不可能的任务?超越Oracle 479

19.1 为何选择cube 480

19.1.1 cube简介 480

19.1.2 cube优势 480

19.1.3 测试环境 481

19.2 newkid的设计思路和优化步骤 482

19.2.1 一次扫描求出16种分组 482

19.2.2 一次扫描求出1种分组,并基于此再一次扫描求出其余分组 484

19.2.3 一次扫描求出1种分组,并基于此再多次分层累计求出其余分组 485

19.2.4 变量长度和类型的优化 487

19.3 为何选择OCI 488

19.3.1 汇总算法的翻译和改进 488

19.3.2 输入和输出的实现和改进 489

19.3.3 不要忽视物理存储对数据库操作的影响 490

19.3.4 不成功的优化教训 490

19.4 总结 493

第20章 动态SQL扩展 494

20.1 动态SQL用途和应用场景 494

20.2 EXECUTE IMMEDIATE语法 495

20.2.1 执行DDL、DCL语句 495

20.2.2 构造通用SQL处理 496

20.2.3 执行复杂业务逻辑查询 498

20.2.4 绑定变量 502

20.2.5 BULK COLLECT动态SQL 505

20.3 使用DBMS_SQL包 507

20.3.1 DBMS_SQL函数和过程说明 507

20.3.2 DBMS_SQL执行步骤 508

20.3.3 DBMS_SQL应用场景 509

20.3.4 DBMS_SQL与EXECUTE IMMEDIATE比较 509

后记 511

精品推荐