基础篇 2
第1章 数据库技术基础 2
1.1 数据库技术概述 2
1.1.1 数据库的基本概念 2
1.1.2 数据处理发展简史 4
1.2 数据模型 6
1.2.1 层次模型 6
1.2.2 网状模型 7
1.2.3 关系模型 8
1.3 E-R模型 9
1.3.1 E-R模型 9
1.3.2 E-R模型转换为关系模型 13
1.3.3 使用PowerDesigner设计数据库 14
1.4 数据库的规范化 19
1.4.1 第一范式(1NF) 19
1.4.2 第二范式(2NF) 20
1.4.3 第三范式(3NF) 21
1.4.4 Boyce-Code范式(BCNF) 21
1.5 高级数据库技术 23
1.5.1 数据仓库 23
1.5.2 分布式数据库 23
1.5.3 面向对象数据库 24
1.6 小结 25
第2章 进入Oracle世界 26
2.1 Oracle的发展变迁 26
2.2 Oracle 11g的新特性 28
2.3 Oracle 11g的体系结构 31
2.3.1 Oracle进程结构 32
2.3.2 Oracle内存结构 33
2.4 Oracle 11g的安装过程 34
2.5 Oracle 11g的基本组件 40
2.5.1 SQL*Plus 41
2.5.2 SQL Developer 42
2.5.3 Database Console 44
2.6 Oracle 11g服务的启动与关闭 45
2.7 小结 47
开发篇 49
第3章 SQL语言与PL/SQL 49
3.1 SQL语言简介 49
3.1.1 SQL的产生 49
3.1.2 SQL的组成 50
3.2 PL/SQL语言基础 50
3.2.1 PL/SQL简介 50
3.2.2 PL/SQL块 50
3.2.3 PL/SQL数据类型 52
3.2.4 PL/SQL标识符 53
3.2.5 常量和变量 54
3.2.6 PL/SQL注释 55
3.3 PL/SQL运算符 55
3.3.1 算术运算符 55
3.3.2 关系运算符 56
3.3.3 逻辑运算符 57
3.4 PL/SQL控制结构 57
3.4.1 条件结构 57
3.4.2 循环结构 61
3.4.3 跳转语句 64
3.5 PL/SQL常用系统函数 64
3.5.1 数学函数 64
3.5.2 字符串函数 66
3.5.3 日期函数 67
3.5.4 转换函数 68
3.6 小结 68
第4章 数据库 70
4.1 数据库概述 70
4.1.1 数据库结构 70
4.1.2 数据库实例 73
4.2 创建数据库实例 73
4.2.1 使用Oracle Database Configuration Assistant创建数据库实例 73
4.2.2 使用PL/SQL创建数据库 82
4.3 修改数据库实例 89
4.3.1 使用DBCA修改数据库实例 89
4.3.2 使用PL/SQL修改数据库 91
4.4 删除数据库实例 93
4.4.1 使用DBCA删除数据库实例 93
4.4.2 使用PL/SQL删除数据库 94
4.5 管理表空间 95
4.5.1 使用OEM管理表空间 95
4.5.2 使用PL/SQL管理表空间 98
4.6 小结 101
第5章 数据表、约束和数据记录 102
5.1 管理数据表 102
5.1.1 创建数据表 102
5.1.2 修改数据表 105
5.1.3 查看和删除表 107
5.2 数据完整性与约束 110
5.2.1 数据完整性概述 110
5.2.2 约束的实现 110
5.3 数据记录操作 120
5.3.1 使用SQL Developer操作数据记录 121
5.3.2 使用PL/SQL操作数据记录 122
5.4 管理序列 125
5.4.1 使用SQL Developer管理序列 125
5.4.2 使用PL/SQL操作序列 126
5.5 管理同义词 129
5.5.1 使用SQL Developer管理同义词 129
5.5.2 使用PL/SQL操作同义词 130
5.6 管理评注 131
5.7 小结 133
第6章 数据查询 134
6.1 查询的基本语法 134
6.2 简单查询 135
6.2.1 选择列 135
6.2.2 选择行 139
6.2.3 排序查询数据记录集 147
6.2.4 分组数据记录集 149
6.3 连接查询 155
6.3.1 内连接查询 155
6.3.2 外连接查询 158
6.3.3 交叉连接查询 160
6.4 子查询 161
6.4.1 IN子查询 161
6.4.2 EXISTS子查询 163
6.4.3 使用比较运算符的子查询 164
6.4.4 使用ANY或ALL的子查询 165
6.4.5 数据记录操作中的子查询 166
6.5 联合查询 168
6.6 小结 171
第7章 索引 172
7.1 索引概述 172
7.2 创建索引 175
7.2.1 使用SQL Developer创建索引 175
7.2.2 使用PL/SQL创建索引 175
7.3 修改索引 176
7.3.1 使用SQL Developer修改索引 177
7.3.2 使用PL/SQL修改索引 177
7.4 查看索引 178
7.5 删除索引 178
7.5.1 使用SQL Developer删除索引 178
7.5.2 使用PL/SQL删除索引 179
7.6 聚集 180
7.6.1 创建聚集 180
7.6.2 修改聚集 184
7.6.3 删除聚集 184
7.7 小结 185
第8章 视图 186
8.1 视图概述 186
8.2 创建视图 187
8.2.1 使用SQL Developer创建视图 187
8.2.2 使用PL/SQL创建视图 189
8.3 修改视图 191
8.3.1 使用SQL Developer修改视图 191
8.3.2 使用PL/SQL修改视图 192
8.4 查看视图 194
8.4.1 使用SQL Developer查看视图 194
8.4.2 使用PL/SQL查看视图 194
8.5 删除视图 195
8.5.1 使用SQL Developer删除视图 195
8.5.2 使用PL/SQL删除视图 196
8.6 使用视图 196
8.6.1 查询视图 196
8.6.2 更新视图数据 198
8.7 小结 200
第9章 存储过程、函数和包 201
9.1 存储过程概述 201
9.2 创建和调用存储过程 202
9.2.1 使用SQL Developer创建和调用存储过程 202
9.2.2 使用PL/SQL创建和调用存储过程 203
9.3 查看、修改和删除存储过程 208
9.3.1 查看存储过程 208
9.3.2 修改存储过程 209
9.3.3 删除存储过程 210
9.4 存储过程的嵌套 211
9.5 函数 212
9.5.1 创建函数 213
9.5.2 调用函数 215
9.5.3 删除函数 215
9.6 包 216
9.6.1 定义包头 217
9.6.2 定义包体 218
9.6.3 引用包中对象 219
9.6.4 包的初始化 219
9.6.5 Oracle 11g的内置包 219
9.6.6 在包中定义函数和存储过程 219
9.7 小结 222
第10章 触发器 223
10.1 触发器概述 223
10.1.1 触发器简介 223
10.1.2 触发器的类型 224
10.1.3 OLD和NEW修饰访问操作 225
10.2 创建触发器 226
10.2.1 使用SQL Developer创建触发器 226
10.2.2 使用PL/SQL创建触发器 227
10.3 查看、修改和删除触发器 229
10.3.1 查看触发器 229
10.3.2 修改触发器 231
10.3.3 删除触发器 232
10.4 使用触发器 234
10.4.1 插入型触发器 234
10.4.2 删除型触发器 235
10.4.3 更新型触发器 236
10.4.4 混合型触发器 237
10.5 AFTER和INSTEAD OF触发器 238
10.6 小结 240
第11章 游标、事务和锁 241
11.1 游标 241
11.1.1 游标的概念 241
11.1.2 游标操作 242
11.1.3 游标的属性 245
11.1.4 在游标中使用循环 246
11.1.5 游标的更新 248
11.2 事务 249
11.2.1 事务的属性 249
11.2.2 事务处理 250
11.3 锁 253
11.3.1 锁的概述 253
11.3.2 锁的类型 253
11.4 小结 255
管理篇 257
第12章 Oracle 11g企业管理器 257
12.1 认识Oracle 11g企业管理器 257
12.2 监视Oracle 11g环境 259
12.2.1 执行监视 260
12.2.2 自监视体系结构 268
12.3 数据库管理 269
12.3.1 数据库管理概述 269
12.3.2 监视数据库 270
12.3.3 管理数据库 274
12.3.4 维护数据库 275
12.3.5 管理数据库组 277
12.4 管理部署 277
12.4.1 收集主机配置信息 277
12.4.2 监视和管理部署 278
12.5 作业系统 283
12.5.1 概述 283
12.5.2 使用和定义作业 284
12.5.3 分析作业活动 284
12.5.4 作业库 285
12.6 小结 285
第13章 数据库安全性 286
13.1 数据库安全管理概述 286
13.2 安全策略 287
13.2.1 系统安全策略 287
13.2.2 数据安全策略 288
13.2.3 用户安全策略 288
13.2.4 口令管理安全策略 289
13.2.5 审计策略 289
13.3 用户管理 289
13.3.1 创建用户 290
13.3.2 修改用户 292
13.3.3 删除用户 294
13.3.4 监控用户 294
13.4 角色管理 295
13.4.1 创建角色 296
13.4.2 修改角色 298
13.4.3 删除角色 299
13.4.4 预定义角色 299
13.5 授权 300
13.5.1 授予权限 300
13.5.2 收回权限 303
13.6 数据库审计 304
13.6.1 审计策略 304
13.6.2 审计类型 305
13.6.3 审计踪迹 306
13.6.4 查看审计踪迹 311
13.7 小结 313
第14章 备份与恢复 314
14.1 备份数据库 314
14.1.1 数据库故障分类 314
14.1.2 备份的类型 315
14.1.3 以命令方式执行数据库备份 317
14.1.4 使用OEM执行数据库备份 324
14.2 恢复数据库 330
14.2.1 恢复的类型 332
14.2.2 以命令方式执行数据库恢复 332
14.2.3 使用OEM执行数据库恢复 334
14.3 备份和恢复策略 337
14.3.1 备份的策略 338
14.3.2 恢复的策略 339
14.4 数据导入/导出 339
14.4.1 Export 340
14.4.2 Import 348
14.5 小结 354
第15章 Oracle配置和管理工具 355
15.1 配置和管理工具概述 355
15.1.1 Oracle网络管理器 355
15.1.2 Oracle网络配置助手 356
15.1.3 Oracle网络控制工具 356
15.2 配置和管理Oracle网络服务 357
15.2.1 创建目录服务器 357
15.2.2 配置概要文件 359
15.2.3 配置和管理监听器 360
15.2.4 配置Oracle服务 361
15.3 Oracle Locale Builder 361
15.4 Oracle客户端工具 364
15.4.1 安装Oracle客户端 364
15.4.2 配置Oracle客户端 367
15.5 小结 370
应用篇 372
第16章 Java访问Oracle数据库 372
16.1 JDBC概述 372
16.2 ODBC连接Oracle数据库 373
16.3 JDBC连接Oracle数据库 374
16.3.1 注册数据库驱动程序 374
16.3.2 获得数据库连接 374
16.3.3 发送和执行SQL语句 376
16.3.4 访问元数据 377
16.4 JDBC访问Oracle数据库 378
16.5 小结 387
第17章 .NET访问Oracle数据库 388
17.1 ADO.NET概述 388
17.1.1 ADO.NET模型 389
17.1.2 ADO.NET对象 390
17.2 绑定连接Oracle数据库 393
17.3 ODBC连接Oracle数据库 397
17.4 手动连接Oracle数据库 399
17.5 调用Oracle存储过程 402
17.6 小结 405
第18章 开发J2EE应用 406
18.1 配置开发和部署环境 406
18.1.1 JDeveloper工具 406
18.1.2 OC4J服务器 408
18.2 开发JSP程序 413
18.2.1 创建JSP程序 413
18.2.2 部署JSP程序 416
18.2.3 配置数据源 418
18.3 开发Servlet程序 421
18.3.1 创建Servlet程序 421
18.3.2 部署Servlet程序 427
18.4 开发EJB应用 427
18.4.1 EJB概述 427
18.4.2 开发EJB应用 429
18.4.3 测试EJB 432
18.5 小结 433
第19章 Oracle XML DB 434
19.1 Oracle XML DB概述 434
19.2 Oracle XML DB体系结构 435
19.3 XML模式 436
19.3.1 XML模式概述 436
19.3.2 查看XML模式 436
19.4 二进制XML表 441
19.4.1 二进制XML存储模型 442
19.4.2 创建二进制XML表 442
19.4.3 在二进制XML表上使用关系视图 443
19.5 XQuery查询 444
19.5.1 XQuery查询概述 444
19.5.2 使用索引增强XQuery查询的性能 445
19.5.3 通过XQuery使用XMLType 449
19.6 小结 452
附录A ESHOPPE数据库 453
附录B 数据字典视图 455
附录C 系统权限和对象权限 471