书名: Oracle完全学习手册  
书号: 9787302224983 
版次: 1 
页数: 705 
定价: 79.5 

[img]http://school.itzcn.com/uploadFile/book/image/20101220034528.jpg[/img]
 内 容 要 点 : 
 
Oracle数据库作为世界范围内性能最优异的数据库系统之一,它在国内数据库市场的占有率远远超过其对手,始终处于数据库领域的领先地位。本书以Oracle 11g for Windows XP为平台,由浅入深地介绍Oracle Database 11g系统的使用方法和基本管理。主要包括:关系数据库设计、Oracle数据库的基本体系结构、存储管理、管理控制文件和日志文件、SQL语言基础、使用SQL*Plus、PL/SQL程序设计、存储过程、触发器和程序包、表、模式对象管理、安全管理以及基本的备份与恢复等,最后以4个应用实例分别结合Java Swing、JSP、ASP.NET和PHP技术来讲述Oracle的实际应用。
本书适合大专院校在校学生、网站开发人员、Java学习和开发人员以及编程爱好者学习和参考。
 
 
  图 书 目 录 : 
 
第一篇 Oracle基础篇

第1章 Oracle关系数据库 1
1.1 关系数据模型 1
1.1.1 二维表 1
1.1.2 关系术语 2
1.1.3 关系数据模型的特点 3
1.2 关系数据库 4
1.2.1 关系操作 4
1.2.2 关系的完整性 4
1.3 关系数据库规范化理论 6
1.3.1 函数依赖 6
1.3.2 范式理论 7
1.4 数据库设计 8
1.4.1 实体-关系模型 9
1.4.2 E-R图的绘制 9
1.4.3 将E-R数据模型转化为关系模式 10
1.5 Oracle应用系统结构 11
1.5.1 单磁盘独立主机结构 11
1.5.2 多磁盘独立主机结构 11
1.5.3 多数据库独立主机结构 12
1.5.4 Oracle客户/服务器系统结构 12
1.5.5 Oracle浏览器/服务器系统结构 13
1.5.6 Oracle分布式数据库系统结构 14
1.6 安装Oracle 11g 15
1.6.1 在Windows环境下的安装过程 15
1.6.2 查看Oracle系统 21
1.7 创建数据库 21
1.8 Oracle默认用户 26
1.9 使用OEM 27
第2章 Oracle体系结构概述 31
2.1 物理存储结构 31
2.1.1 数据文件 31
2.1.2 控制文件 33
2.1.3 重做日志文件 34
2.1.4 其他文件 35
2.2 逻辑存储结构 35
2.2.1 表空间 36
2.2.2 段 36
2.2.3 区 37
2.2.4 块 37
2.3 Oracle进程结构 38
2.3.1 进程结构概述 39
2.3.2 DBWn进程 39
2.3.3 LGWR进程 41
2.3.4 CKPT进程 41
2.3.5 SMON进程 42
2.3.6 PMON进程 42
2.3.7 ARCn进程 42
2.3.8 RECO进程 43
2.3.9 LCKn进程 43
2.3.10 Dnnn进程 43
2.3.11 SNPn进程 44
2.4 Oracle内存结构 44
2.4.1 内存结构概述 44
2.4.2 系统全局区 45
2.4.3 程序全局区 46
2.4.4 排序区 46
2.4.5 大池 47
2.4.6 Java池 47
2.5 数据字典 47
2.5.1 Oracle数据字典介绍 47
2.5.2 Oracle常用数据字典 48
第3章 使用SQL*Plus 51
3.1 SQL*Plus的主要功能 51
3.2 SQL*Plus连接数据库 51
3.2.1 启动SQL*Plus 51
3.2.2 从命令行启动SQL*Plus 53
3.2.3 断开数据库连接 54
3.3 查看表结构 54
3.4 编辑SQL语句 55
3.5 保存、检索并运行文件 56
3.6 使用SQL*Plus格式化查询结果 58
3.6.1 格式化列 58
3.6.2 设置页面大小 59
3.6.3 设置行大小 60
3.6.4 清除列格式 60
3.7 使用变量 61
3.7.1 临时变量 61
3.7.2 已定义变量 63
3.8 创建简单报表 65
3.8.1 在脚本中使用临时变量 65
3.8.2 在脚本中使用已定义变量 66
3.8.3 向脚本中的变量传递值 66
3.8.4 添加页眉和页脚 67
3.8.5 计算小计 68
第4章 表空间 70
4.1 管理基本表空间 70
4.1.1 表空间管理类型 70
4.1.2 创建基本表空间 72
4.1.3 修改表空间 79
4.2 临时表空间 85
4.2.1 创建临时表空间 85
4.2.2 修改临时表空间 86
4.2.3 临时表空间组 87
4.3 大文件表空间 88
4.4 非标准数据块表空间 90
4.5 撤销表空间 91
4.5.1 管理撤销表空间的方式 91
4.5.2 创建和管理撤销表空间 92
第5章 管理控制文件与日志文件 97
5.1 管理控制文件 97
5.1.1 控制文件的概述 97
5.1.2 创建控制文件 98
5.1.3 管理与维护控制文件 101
5.1.4 查询控制文件信息 104
5.2 管理日志文件 105
5.2.1 日志文件的概述 105
5.2.2 创建日志文件组及其成员 106
5.2.3 管理日志文件组及其成员 107
5.2.4 查看日志文件信息 110
5.3 管理归档日志 111
5.3.1 归档日志的概述 111
5.3.2 设置数据库模式 112
5.3.3 设置归档目标 113
5.3.4 设置归档进程的跟踪级别 114
5.3.5 查看归档日志信息 115
第6章 表 117
6.1 创建表 117
6.1.1 创建表的策略 117
6.1.2 使用SQL语句创建表 118
6.1.3 指定表空间 123
6.1.4 指定存储参数 124
6.1.5 设置数据块管理参数 125
6.1.6 指定重做日志 127
6.1.7 指定缓存 128
6.1.8 通过OEM创建表 129
6.2 修改表 131
6.2.1 增加和删除列 131
6.2.2 更新列 133
6.2.3 重命名表 135
6.2.4 改变表的存储表空间和存储
参数 136
6.2.5 删除表定义 137
6.3 完整性约束 137
6.3.1 约束的分类和定义 138
6.3.2 NOT NULL约束 138
6.3.3 PRIMARY KEY约束 140
6.3.4 UNIQUE约束 142
6.3.5 CHECK约束 143
6.3.6 FOREIGN KEY约束 144
6.3.7 禁止和激活约束 147
6.3.8 验证约束 149
6.3.9 延迟约束 150
6.3.10 查询约束信息 151
6.4 分析表 152

第二篇 操作Oracle篇

第7章 SQL基础 157
7.1 SQL语言概述 157
7.1.1 SQL语言特点 157
7.1.2 SQL语言分类 158
7.1.3 SQL语句的编写规则 158
7.2 使用SELECT检索数据 159
7.2.1 使用FROM子句指定表 159
7.2.2 使用SELECT(必要元素)
指定列 160
7.2.3 使用WHERE子句指定行 160
7.2.4 使用ORDER BY子句
对行进行排序 164
7.2.5 使用GROUP BY子句
对行进行分组 166
7.2.6 使用HAVING子句过滤行组 167
7.2.7 组合使用WHERE、GROUP BY和HAVING子句 167
7.2.8 使用DISTINCT来检索
唯一的表列值 167
7.2.9 使用算术运算符 168
7.3 使用DML语句 169
7.3.1 使用INSERT语句插入表数据 169
7.3.2 使用UPDATE语句更新表数据 170
7.3.3 使用DELETE语句删除表数据 170
7.3.4 使用MERGE语句修改表数据 171
7.4 表的连接查询 173
7.4.1 简单连接 173
7.4.2 内连接 174
7.4.3 外连接 175
7.4.4 自连接 176
7.5 数据库事务 177
7.5.1 事务的提交和回滚 177
7.5.2 事务的开始与结束 178
7.5.3 设置保存点 179
7.5.4 事务的ACID特性 180
7.5.5 并发事务 180
7.5.6 事务锁 182
7.5.7 事务隔离级别 183
第8章 使用简单函数 185
8.1 使用单行函数 185
8.1.1 字符函数 185
8.1.2 数字函数 188
8.1.3 转换函数 190
8.1.4 正则表达式函数 192
8.2 使用聚合函数 195
8.3 日期时间处理函数 197
8.3.1 使用TO_CHAR()和TO_DATE()
转换时间值 198
8.3.2 使用时间值函数 199
第9章 子查询 202
9.1 子查询的类型 202
9.2 编写单行子查询 202
9.2.1 在WHERE子句中使用子查询 203
9.2.2 使用其他单行操作符 203
9.2.3 在HAVING子句中使用子查询 204
9.2.4 在FROM子句中使用子查询 205
9.2.5 常见查询错误 206
9.3 编写多行子查询 207
9.4 编写多列子查询 209
9.5 编写关联子查询 210
9.5.1 使用关联子查询 210
9.5.2 在关联子查询中使用EXISTS
和NOT EXISTS 211
9.6 编写嵌套子查询 212
9.7 编写包含子查询的UPDATE
和DELETE语句 213
第10章 高级查询 215
10.1 使用集合操作符 215
10.2 使用TRANSLATE()函数 218
10.3 使用DECODE()函数 219
10.4 使用CASE表达式 220
10.4.1 使用简单CASE表达式 220
10.4.2 使用搜索CASE表达式 221
10.5 层次化查询 222
10.5.1 示例数据 222
10.5.2 使用CONNECT BY和START WITH子句 223
10.5.3 使用伪列LEVEL 224
10.5.4 格式化层次化查询的结果 225
10.5.5 从非根节点开始遍历 226
10.5.6 在START WITH子句
中使用子查询 226
10.5.7 从下向上遍历树 227
10.5.8 从层次化查询中删除节点
和分支 227
10.5.9 在层次化查询中加入其他条件 228
10.6 使用扩展的GROUP BY子句 229
10.6.1 使用ROLLUP子句 229
10.6.2 使用CUBE子句 230
10.6.3 使用GROUPING()函数 231
10.6.4 使用GROUPING SETS子句 233
10.6.5 使用GROUPING_ID()函数 233
10.6.6 使用GROUP_ID()函数 236
第11章 PL/SQL基础 238
11.1 PL/SQL概述 238
11.1.1 PL/SQL语言特点 238
11.1.2 PL/SQL代码编写规则 238
11.2 PL/SQL结构 239
11.2.1 PL/SQL程序块 239
11.2.2 变量和类型 240
11.2.3 运算符与表达式 242
11.2.4 PL/SQL的注释 242
11.3 编写控制结构 243
11.3.1 条件分支语句 243
11.3.2 循环语句 245
11.3.3 GOTO和NULL 248
11.4 复合变量 249
11.4.1 %TYPE变量 249
11.4.2 %ROWTYPE变量 250
11.4.3 PL/SQL记录 251
11.5 PL/SQL集合 252
11.5.1 索引表 252
11.5.2 嵌套表 254
11.5.3 变长数组 256
11.5.4 PL/SQL记录表 258
11.5.5 集合方法 259
11.6 游标 262
11.6.1 游标基本操作 263
11.6.2 游标属性 264
11.6.3 参数化游标和隐式游标 266
11.6.4 使用游标更新或删除数据 267
11.6.5 游标FOR循环 268
11.6.6 使用游标变量 269
11.7 异常处理 271
11.7.1 预定义异常 271
11.7.2 用户自定义异常 274
11.7.3 异常函数 275
第12章 PL/SQL高级应用 277
12.1 存储过程 277
12.1.1 过程的基本操作 277
12.1.2 过程的参数传递 279
12.1.3 过程的参数模式 280
12.1.4 参数的默认值 282
12.2 函数 283
12.2.1 函数的基本操作 283
12.2.2 建立带参函数 285
12.3 程序包 287
12.3.1 包的基本操作 288
12.3.2 系统预定义包 289
12.3.3 私有过程和函数 290
12.3.4 使用包重载 291
12.3.5 使用包构造过程 293
12.4 触发器 296
12.4.1 触发器的类型 296
12.4.2 触发器的基本操作 297
12.4.3 语句触发器 298
12.4.4 触发器的新值和旧值 300
12.4.5 行触发器 301
12.4.6 INSTEAD OF触发器 304
12.4.7 系统事件触发器 305
第三篇 Oracle进阶篇

第13章 用户权限与安全 309
13.1 管理用户 309
13.1.1 创建用户 309
13.1.2 修改用户 312
13.1.3 删除用户 314
13.1.4 查看用户会话信息 314
13.2 用户配置文件 316
13.2.1 资源限制参数 316
13.2.2 口令限制参数 317
13.2.3 创建用户配置文件 318
13.2.4 管理配置文件 320
13.2.5 通过OEM管理配置文件 321
13.3 权限 323
13.3.1 权限的概述 323
13.3.2 系统权限 325
13.3.3 对象权限 328
13.3.4 查看权限信息 331
13.4 角色 333
13.4.1 角色的概述 333
13.4.2 系统预定义角色 333
13.4.3 创建角色 335
13.4.4 修改用户的默认角色 336
13.4.5 禁用和启用角色 337
13.4.6 修改角色 338
13.4.7 删除角色 338
13.4.8 查看角色信息 339
13.4.9 通过OEM管理角色 340
第14章 数据库审计 343
14.1 审计概述 343
14.1.1 审计及其作用 343
14.1.2 审计类型 344
14.1.3 启动数据库审计 345
14.2 语句审计 346
14.2.1 语句审计概述 346
14.2.2 使用语句审计 348
14.3 权限审计 349
14.4 对象审计 350
14.4.1 对象审计概述 350
14.4.2 使用对象审计 351
14.5 审计信息查询 353
14.6 细粒度的审计 355
第15章 其他模式对象 358
15.1 索引 358
15.1.1 索引类型 358
15.1.2 指定索引选项 361
15.1.3 创建B树索引 363
15.1.4 创建位图索引 364
15.1.5 创建反向键索引 364
15.1.6 创建基于函数的索引 365
15.1.7 管理索引 365
15.2 索引组织表 368
15.2.1 索引组织表与标准表 368
15.2.2 溢出存储 369
15.3 临时表 370
15.3.1 临时表的特点 370
15.3.2 临时表的类别 371
15.3.3 创建与使用临时表 371
15.4 外部表 373
15.4.1 创建外部表 373
15.4.2 处理外部表错误 375
15.5 分区表与分区索引 379
15.5.1 分区概述 379
15.5.2 创建分区表 380
15.5.3 建立分区表索引 384
15.5.4 管理分区表 386
15.6 簇与簇表 389
15.6.1 创建簇和簇表 389
15.6.2 创建簇索引 391
15.6.3 管理簇 391
15.7 视图 393
15.7.1 创建视图 393
15.7.2 可更新的视图 396
15.7.3 删除视图 399
15.8 序列 399
15.8.1 创建序列 399
15.8.2 修改序列 402
15.8.3 删除序列 402
15.9 同义词 403
第16章 数据库对象类型 404
16.1 对象类型简介 404
16.2 创建对象类型 404
16.2.1 创建简单对象类型 405
16.2.2 创建带有函数的对象类型 406
16.3 获取对象类型信息 408
16.4 在数据库表中使用对象类型 409
16.4.1 列对象 409
16.4.2 对象表 411
16.4.3 对象标识符和对象引用 414
16.4.4 比较对象值 417
16.5 在PL/SQL中使用对象类型 419
第17章 大对象 424
17.1 大对象(LOB)简介 424
17.2 包含大对象的表 425
17.2.1 包含CLOB数据列的表 425
17.2.2 包含BLOB数据列的表 426
17.2.3 包含BFILE数据列的表 427
17.3 在PL/SQL中使用大对象 429
17.3.1 APPEND() 429
17.3.2 CLOSE() 431
17.3.3 COMPARE() 432
17.3.4 COPY() 433
17.3.5 CREATETEMPORARY() 434
17.3.6 ERASE() 435
17.3.7 FILECLOSEALL() 436
17.3.8 FILEEXISTS() 436
17.3.9 FILEGETNAME() 437
17.3.10 FREETEMPORARY() 438
17.3.11 GETCHUNKSIZE() 439
17.3.12 GET_STORAGE_LIMIT() 439
17.3.13 GETLENGTH() 439
17.3.14 INSTR() 440
17.3.15 ISOPEN() 441
17.3.16 ISTEMPORARY() 441
17.3.17 LOADBLOBFROMFILE() 442
17.3.18 LOADCLOBFROMFILE() 442
17.3.19 OPEN() 444
17.3.20 READ() 445
17.3.21 SUBSTR() 446
17.3.22 TRIM() 447
17.3.23 WRITE() 447
17.3.24 WRITEAPPEND() 448
17.4 LONG和LONG RAW类型 448
17.4.1 包含LONG或LONG RAW
数据列的表 448
17.4.2 将LONG和LONG RAW数据列转
换为LOB 449
第18章 Oracle SQL语句优化 451
18.1 一般的SQL优化技巧 451
18.1.1 避免使用“*”替代所有列 451
18.1.2 用TRUNCATE代替DELETE 452
18.1.3 在确保完整性的情况下多用
COMMIT语句 453
18.1.4 减少表的查询次数 453
18.1.5 用EXISTS替代IN 453
18.1.6 用WHERE替代HAVING 454
18.1.7 使用“<=”替代“<" 455
18.2 表的连接 456
18.2.1 选择FROM表的顺序 456
18.2.2 WHERE子句的连接顺序 456
18.2.3 使用表的别名 457
18.3 有效使用索引 458
18.3.1 使用索引的基本事项 458
18.3.2 避免对索引列使用NOT
关键字 458
18.3.3 避免对唯一索引列使用
IS (NOT) NULL 459
18.3.4 选择复合索引主列 459
18.3.5 监视索引是否被使用 460

第四篇 备份与恢复篇

第19章 用户管理的备份与恢复 461
19.1 数据库备份与恢复 461
19.1.1 数据库备份 461
19.1.2 数据库恢复 464
19.2 用户管理的备份 465
19.2.1 备份命令 466
19.2.2 完全数据库脱机备份 466
19.2.3 部分数据库脱机备份 468
19.2.4 部分数据库联机备份 469
19.2.5 备份控制文件 471
19.2.6 验证备份数据 472
19.3 用户管理的完全恢复 473
19.3.1 用户管理的完全恢复机制 473
19.3.2 非归档模式下的数据库恢复 475
19.3.3 归档模式下的数据文件恢复 477
19.3.4 在MOUNT状态下对
SYSTEM表空间恢复 478
19.3.5 在OPEN状态下对数据文件
进行恢复 480
19.3.6 在OPEN状态中恢复未备份的
数据文件 482
19.3.7 恢复控制文件 483
19.4 用户管理的不完全恢复 486
19.4.1 不完全恢复机制 486
19.4.2 基于时间的恢复 488
19.4.3 基于更改的恢复 492
19.4.4 基于撤销的恢复 496
第20章 使用RMAN工具 499
20.1 RMAN简介 499
20.1.1 RMAN的特点 499
20.1.2 RMAN组件 500
20.1.3 保存RMAN资料档案库 503
20.1.4 配置RMAN 504
20.1.5 RMAN的基本操作 509
20.2 RMAN备份 512
20.2.1 RMAN备份类型 512
20.2.2 BACKUP命令 514
20.2.3 增量备份 516
20.2.4 备份数据库 517
20.2.5 多重备份 521
20.2.6 镜像复制 522
20.3 RMAN恢复 523
20.3.1 RMAN恢复机制 524
20.3.2 数据库非归档恢复 525
20.3.3 数据库归档恢复 527
20.3.4 块介质恢复 528
20.3.5 移动数据文件到新的位置 529