《Oracle高级编程》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(美)Rick Greenwald,(美)Robert Stackowiak等著;孙杨,任鸿译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:9787302141815
  • 页数:609 页
图书介绍:本书介绍如何利用Oracle的功能和操作,以及编程方法。

第1章 Oracle体系结构和存储 1

1.1 体系结构 2

1.1.1 实例 2

1.1.2 数据组织结构 5

1.2 数据类型 8

1.2.1 字符数据类型 8

1.2.2 BFILE 9

1.2.3 数值型数据类型 9

1.2.4 RAW和LONG RAW 11

1.2.5 其他数据类型 11

1.3 小结 11

第2章 使用SQL 13

2.1 SQL语句的处理流程 14

2 1.1 连接到数据库 14

2.1.2 建立游标 15

2.1.3 提交SQL语句 16

2.1.4 接收数据 18

2.2 性能问题 18

2.2.1 检索的性能 18

2.2.2 使用绑定变量 19

2.2.3 并行操作 21

2.3 小结 22

第3章 多用户控制 23

3.1 目的 24

3.1.1 数据完整性 24

3.1.2 隔离 25

3.1.3 串行化 25

3.2 事务 25

3.3 同时发生的用户完整性问题 26

3.4 锁 28

3.5 争用 29

3.6 Oracle解决方案 29

3.6.1 多版本读取一致性 29

3.6.2 完整性结论 31

3.6.3 性能结论 31

3.6.4 隔离级别 31

3.7 实现问题 33

3.7.1 写争用 33

3.7.2 避免数据改变 33

3.8 小结 35

第4章 数据库设计基础 37

4.1 数据库设计阶段 39

4.1.1 概念数据库设计 39

4.1.2 逻辑数据库设计 39

4.1.3 物理设计 40

4.1.4 实践设计 41

4.1.5 数据库设计具 42

4.1.6 数据库设计技术 43

4.2 数据库设计学习案例 46

4.3 规范化 47

4.3.1 第一范式 49

4.3.2 第二范式&5 1

4.3.3 第三范式 52

4.3.4 其他键 52

4.3.5 规范化小结 53

4.4 定义附加实体(表) 54

4.5 反规范化 54

4.6 其他物理设计选项 56

4.7 Oracle面向对象的设计选项 57

4.8 小结 57

第5章 Oracle安全性 59

5.1 安全概念 59

5.1.1 机密性及保密 60

5.1.2 完整性 60

5.1.3 保证数据库层安全的原因 60

5.2 身份验证 61

5.2.1 用户及密码 61

5.2.2 智能卡和物理标识 62

5.2.3 Oracle语法 62

5.3 授权 65

5.3.1 系统特权 65

5.3.2 对象特权 65

5.3.3 角色 66

5.3.4 存储过程 69

5.4 访问控制 70

5.4.1 视图 70

5.4.2 加密 71

5.4.3 虚拟私有数据库 73

5.4.4 Oracle标记安全选择 75

5.5 可说明性 76

5.5.1 审计 76

5.5.2 触发器 79

5.6 企业安全 79

5.6.1 LDAP 80

5.6.2 企业用户 80

5.6.3 共享模式 80

5.6.4 数据库安全 80

5.6.5 网络安全 80

5.7 安全实践 82

5.8 小结 83

第6章 Oracle数据字典 85

6.1 数据字典的概念 85

6.2 Oracle数据字典的结构 86

6.2.1 USER_TABLES 87

6.2.2 ALL_TABLES 88

6.2.3 DBA_TABLES 88

6.2.4 TAB 89

6.2.5 V_$FIXED_TABLE 90

6.3 开发期间的Oracle数据字典 90

6.3.1 定位及描述数据字典视图 91

6.3.2 哪一个视图组 92

6.3.3 更新数据字典 95

6.4 执行时的Oracle数据字典 96

6.4.1 SQL到生成SQL 96

6.4.2 动态SQL 98

6.5 小结 100

第7章 安装Oracle 101

7.1 获得Oracle软件 101

7.2 安装Oracle服务器软件 104

7.2.1 系统需求 104

7.2.2 安装软件 104

7.3 访问Oracle数据库 108

7.4 安装Oracle客户端软件 109

7.4.1 Java驱动程序 109

7.4.2 Oracle客户端软件 110

7.4.3 安装Oracle Instant Client 110

7.4.4 哪一个驱动程序 111

7.5 小结 112

第8章 SQL概述 113

8.1 历史回顾 113

8.2 标准 114

8.3 SQL语句分组 114

8.4 数据定义语言(DDL) 115

8.4.1 CREATE 115

8.4.2 ALTER 117

8.4.3 DROP 118

8.4.4 Caveat! 118

8.5 数据处理语言(DML) 118

8.6 SQL:面向集合和非过程化特性 118

8.6.1 SELECT语句 119

8.6.2 多表访问 127

8.6.3 子查询 130

8.6.4 INSERT 132

8.6.5 UPDATE 133

8.6.6 DELETE 134

8.6.7 COMMIT/ROLLBACK/SAVEPOINT 134

8.7 小结 135

第9章 扩展的SQL 137

9.1 扩展条件 137

9.1.1 LIKE及REGEXP_LIKE 137

9.1.2 IN及EXISTS 138

9.1.3 ALL、SOME及ANY 141

9.2 扩展集合操作 142

9.2.1 UNION 143

9.2.2 INTERSECT 144

9.2.3 MINUS 145

9.3 MERGE 146

9.3.1 示例 147

9.3.2 警告 149

9.4 TRUNCATE 149

9.5 ROWNUM及Ranking 149

9.5.1 使用ROWNUM 149

9.5.2 使用分析单 152

9.6 闪回查询 153

9.6.1 工作原理 154

9.6.2 语法 154

9.6.3 闪回查询示例 154

9.6.4 警告 156

9.6.5 扩展的闪回能力 156

9.7 根据写操作返回数据 157

9.8 其他扩展 157

9.9 小结 157

第10章 索引 159

10.1 索引基础 160

10.1.1 索引的运作方式 160

10.1.2 键 163

10.1.3 索引属性 163

10.2 B-树索引 165

10.2.1 B-树索引的工作原理 165

10.2.2 关于B-树索引的不实之辞 166

10.3 逆键索引 168

10.4 基于函数的索引 169

10.4.1 基于函数索引的应用程序 170

10.4.2 潜在问题 172

10.5 域索引 173

10.6 位图索引 173

10.6.1 位图索引的结构 174

10.6.2 位图索引的影响 174

10.7 位图连接索引 176

10.8 索引组织表 176

10.9 索引群集 177

10.10 散列群集 178

10.11 关于设计与性能的建议 178

10.11.1 从小处着手 178

10.11.2 键压缩 179

10.11.3 SQL Access Advisor 180

10.12 小结 180

第11章 约束 181

11.1 数据库完整性特性 182

11.1.1 数据类型定义 182

11.1.2 约束 183

11.1.3 触发器与存储过程 183

11.2 约束类型 184

11.2.1 NOT NULL 185

11.2.2 PRIMARY KEY 186

11.2.3 UNIQUE 188

11.2.4 FOREIGN KEY 189

11.2.5 CHECK 193

11.2.6 DEFAULT 195

11.2.7 REF约束 197

11.3 约束应用 198

11.3.1 AlterTable 198

11.3.2 约束状态 199

11.3.3 约束与索引 201

11.3.4 可延期的约束 203

11.3.5 直接路径操作 203

11.3.6 约束与导出/导入 204

11.3.7 对变异表触发器的影响 204

11.3.8 对视图的约束 204

11.3.9 将数据库约束用于应用程序端的规则检查 204

11.4 小结 205

第12章 其他数据库结构 207

12.1 表空间 207

12.1.1 临时表空间 208

12.1.2 撤消表空间 209

12.2 压缩 209

12.3 分区 210

12.4 视图 211

12.5 物化视图 213

12.6 序列 213

12.7 全局临时表 214

12.8 回收站 215

12.9 同义词 217

12.9.1 使用同义词的理由 217

12.9.2 同义词应用 217

12.10 数据库链接 218

12.11 Advanced Queuing与Streams技术 219

12.11.1 Streams AQ 219

12.11.2 Streams(流) 220

12.11.3 流小结 221

12.12 对象 222

12.13 存储过程、函数和触发器 222

12.14 访问普通文件 223

12.14.1 外部表 223

12.14.2 UTL_FILE 223

12.15 SGA缓冲池的分配 223

12.16 Workflow 224

12.17 Workspace Manager 225

12.18 小结 226

第13章 函数 227

13.1 函数的定义 227

13.2 自定义函数 228

13.2.1 函数的创建权限 228

13.2.2 函数的适用范围 229

13.2.3 定义Java函数 229

13.2.4 查看关于自定义函数的信息 229

13.2.5 删除函数 230

13.3 Oracle的内置SQL函数 230

13.3.1 聚集函数 230

13.3.2 数值函数 237

13.3.3 字符函数 243

13.3.4 日期与时间函数 251

13.3.5 转换函数 257

13.3.6 集合函数 265

13.3.7 其他Oracle函数 265

13.3.8 XML函数 271

13.4 小结 275

第14章 分布式查询、事务与数据库 277

14.1 链接分布式Oracle数据库 278

14.2 分布式事务和两阶段提交 281

14.3 同类服务 282

14.3.1 ODBC 282

14.3.2 透明网关 284

14.4 小结 284

第15章 PL/SQL基础 285

15.1 代码体系结构 286

15.1.1 块头标 286

15.1.2 声明节 287

15.1.3 执行节 288

15.1.4 异常节 288

15.1.5 异常处理方法 289

15.1.6 与错误相关的函数 289

15.1.7 作用域与表示法 289

15.2 PL/SQL语言 290

15.3 实现逻辑 294

15.3.1 条件逻辑 294

15.3.2 分支 297

15.3.3 循环 298

15.3.4 什么都不做 299

15.4 创建PL/SQL程序 299

15.4.1 示例过程的目标 300

15.4.2 开始编码 300

15.4.3 添加变量 300

15.4.4 添加逻辑 301

15.4.5 添加异常处理 301

15.5 使用PL/SQL代码 302

15.5.1 编译准备 303

15.5.2 编译PL/SQL代码 303

15.5.3 运行PL/SQL代码 304

15.5.4 编译、源代码与依赖性 304

15.6 安全性 306

15.6.1 授权对PL/SQL的访问 306

15.6.2 程序单元的权限 306

15.7 本机编译 307

15.8 使用PL/SQL程序单元 307

15.9 小结 308

第16章 PL/SQL与SQL 309

16.1 PL/SQL中的SQL基础知识 309

16.2 游标 310

16.2.1 创建游标 310

16.2.2 打开游标 310

16.2.3 取数据 310

16.2.4 关闭游标 311

16.2.5 游标属性 311

16.3 使用单个游标 311

16.3.1 声明变量 311

16.3.2 声明游标 311

16.3.3 打开游标 312

16.3.4 取数据 312

16.3.5 资源释放 313

16.3.6 运行过程 314

16.4 特殊数据类型 315

16.4.1 %TYPE 315

16.4.2 %ROWTYPE 315

16.5 FOR游标 316

16.5.1 语法 316

16.5.2 修改示例 316

16.6 隐式游标 317

16.7 REF游标 318

16.8 PL/SQL记录和集合 319

16.8.1 PL/SQL记录 320

16.8.2 PL/SQL记录与SQL 320

16.8.3 关联数组 321

16.8.4 嵌套表 322

16.8.5 可变数组 322

16.8.6 使用集合 322

16.8.7 集合操作 323

16.8.8 集合的适用性 324

16.9 BULK COLLECT 325

16.10 FORALL 328

16.10.1 语法 328

16.10.2 异常情形 328

16.10.3 FORALL的改进 328

16.11 动态SQL 329

16.11.1 EXECUTE IMMEDIATE 330

16.11.2 包含动态SQL的BULK操作 330

16.11.3 关于动态SQL的补充 331

16.12 小结 331

第17章 PL/SQL包 333

17.1 包的定义 333

17.2 包的作用 334

17.2.1 结构 334

17.2.2 可见性 335

17.2.3 作用域 335

17.2.4 依赖性 335

17.2 5 运行库内存的使用 336

17.2.6 Oracle的承诺 336

17.3 示例 336

17.3.1 包规范 337

17.3.2 包主体 338

17.3.3 运行示例 343

17.4 使用多个包 344

17.4.1 第2个包 344

17.4.2 包代码 345

17.4.3 修改第1个包 346

17.4.4 对第2个包的影响 346

17.5 小结 348

第18章 Java数据库编程简介 349

18.1 Java体系结构 350

18.1.1 Java:语言 350

18.1.2 Java虚拟机和字节码 350

18.1.3 性能 351

18.1.4 J2SE和J2EE 351

18.2 Oracle的Java体系结构 357

18.2.1 JDBC和持久性框架 358

18.2.2 数据库外Java 361

18.2.3 数据库内Java 361

18.3 构建示例应用程序 362

18.3.1 设置CLASSPATH 362

18.3.2 使用JDBC的Java应用程序——基本成分 363

18.3.3 使用OracleAS TopLink的Java应用程序 368

18.3.4 Java存储过程 373

18.4 小结 379

第19章 触发器 381

19.1 触发器的定义 381

19.1.1 触发器的类型 381

19.1.2 执行次序 382

19.2 使用触发器 382

19.2.1 命名触发器 382

19.2.2 创建触发器的权限 383

19.2.3 创建触发器 383

19.2.4 :new和:old 384

19.2.5 更新触发器 385

19.2.6 删除触发器 385

19.2.7 控制触发器激活的时机 386

19.2.8 插入或更新 387

19.3 特定环境 387

19.3.1 INSTEAD OF触发器 387

19.3.2 用于引用完整性的触发器 390

19.4 其他语言里的触发器 391

19.5 触发器和变异表 392

19.6 删除触发器 393

19.6.1 删除/卸载触发器 393

19.6.2 屏蔽触发器 394

19.6.3 重新编译触发器 394

19.7 在数据字典中查看触发器 394

19.8 触发器限制 395

19.9 小结 395

第20章 正则表达式和表达式过滤器 397

20.1 正则表达式 398

20.1.1 正则表达式概念 398

20.1.2 与数据库应用程序的相关性 401

20.1.3 Oracle正则表达式 402

20.1.4 使用场合 408

20.1.5 体系结构和性能 412

20.2 表达式过滤器 413

20.2.1 Expression Filter(表达式过滤器)概念 414

20.2.2 与数据库应用程序的关联 419

20.3 小结 420

第21章 对象关系与Oracle的交互 421

21.1 对象关系 422

21.2 Oracle对象介绍 423

21.2.1 对象类型 424

21.2.2 对象类型方法 426

21.2.3 对继承的支持 430

21.2.4 模式改进 432

21.2.5 UML概念的映射 432

2 1.3 使用Oracle对象类型 433

21.3.1 用作持久化对象类型的已存在Java类 433

21.3.2 在数据库中创建对象类型的实例 436

21.3.3 使用Java与数据库对象进行交互 437

21.4 关系数据上的对象视图 441

21.5 Oracle JPublisher(JPub) 445

21.5.1 配置和运行时 445

21.5.2 发布SQL和DML语句 446

21.5.3 发布Java存储过程 447

21.5.4 发布对象类型 448

21.5.5 对Web服务的支持 448

21.6 小结 449

第22章 Oracle XML DB 451

22.1 XML DB库简介 451

22.1.1 对Oracle库中的XML进行基于协议的访问 452

22.1.2 对Oracle库中的XML数据进行基于SQL的访问 458

22.1.3 使用XDB库启用新模式 462

22.1.4 Oracle XML库上基于ACL的安全 462

22.2 XMLType 464

22.2.1 创建XMLType列和表 465

22.2.2 XML视图 466

22.3 XML模式 468

22.4 SQ/XML和查询重写 479

22.5 SQL到XML 480

22.6 转换XML 483

22.7 内容管理示例 484

22.7.1 创建内容管理应用程序前端 484

22.7.2 数据库外的OracleXML——Oracle XDK 496

22.8 小结 499

第23章 HTML-DB 501

23.1 HTML-DB介绍 501

23.2 HTML-DB环境 502

23.3 安装HTML-DB 503

23.4 准备开发环境 507

23.4.1 创建工作区 507

23.4.2 创建应用程序开发人员 510

23.5 导入数据 511

23.6 创建应用程序 514

23.7 示例HTML-DB应用程序的功能 520

23.8 加入新页面 524

23.9 修改页面属性 526

23.10 运行应用程序 528

23.11 其他功能 528

23.12 下一步 529

23.13 小结 529

第24章 高速数据移动 531

24.1 Export/Import和“Data Dump” 532

24.2 Transportable Tablespaces 534

24.2.1 使用注意事项 534

24.2.2 Transportable Tablespaces示例 534

24.3 流 536

24.3.1 Streams的阶段和过程 536

24.3.2 配置和监视高级队列 537

24.4 小结 539

第25章 数据装载和管理 541

25.1 SQL*Loader 542

25.2 外部表数据库特性 543

25.2.1 定义外部表 543

25.2.2 从外部表进行装载 544

25.3 转换 545

25.4 改变数据捕获 546

25.5 分区和ETL的速度 546

25.6 Oracle Warehouse Builder 548

25.6.1 使用OWB的建立和部署步骤 548

25.6.2 使用OWB的例子 548

25.6.3 非关系型目标 551

25.7 小结 551

第26章 业务智能化查询 553

26.1 业务智能化模式 554

26.1.1 尺度和层次 558

26.1.2 创建尺度 559

26.2 摘要表和物化视图 559

26.2.1 使用SQL Access Advisor(Summary Advisor) 561

26.2.2 创建和编辑物化视图 562

26.3 通过SQL:Rollup和Cube进行聚合 563

26.4 复杂查询工作量的预管理 565

26.5 小结 566

第27章 业务智能化分析 567

27.1 SQL分析和统计 568

27.1.1 分阶和百分比划分 568

27.1.2 用于累积和移动聚合的Windows函数 571

27.1.3 迟延和领先分析 573

27.1.4 第一/最后分析 574

27.1.5 线性衰退和其他高级函数 574

27.2 OLAP 576

27.3 数据挖掘 579

27.4 小结 580

第28章 优化 581

28.1 优化的概念 581

28.2 Oracle优化器 582

28.3 优化器模式 583

28.3.1 不再支持的优化器模式 583

28.3.2 设置优化器模式 583

28.4 统计 584

28.4.1 统计和代价 584

28.4.2 统计类型 584

28.4.3 搜集统计信息 585

28.4.4 统计和改变 585

28.4.5 产品环境和测试环境 586

28.4.6 直方图 586

28.4.7 处理直方图 587

28.5 执行计划 589

28.5.1 执行计划 589

28.5.2 数据操作 589

28.6 执行统计 591

28.6.1 全面执行统计 592

28.6.2 详细统计 592

28.6.3 执行计划和统计示例 593

28.7 浏览执行计划和统计 596

28.7.1 AUTOTRACE 596

28.7.2 EXPLAIN PLAN 597

28.7.3 SQL Trace和TKPROF 598

28.7.4 Enterprise Manager 601

28.7.5 V$SQL_PLAN和V$SQL_PLAN_STATISTICS 602

28.8 提示 602

28.8.1 提示的语法 602

28.8.2 可用提示 602

28.8.3 并行操作提示 606

28.8.4 现在不要使用它们 606

28.9 存储概要 607

28.9.1 创建存储概要 608

28.9.2 使用存储概要 608

28.9.3 编辑存储概要 608

28.10 小结 609