第0章 Oracle的安装及相关配置 1
0.1 Oracle的安装 1
0.2 进入Oracle的SQL*Plus界面 5
0.3 scott用户及其对象维护 6
0.4 本书中将用到的表 7
0.5 SQL(Structured Query Language)语言 7
0.6 本书所用的术语 8
0.7 Oracle 11g上的SQL*Plus 9
0.8 使用iSQL*Plus 10
0.9 使用DOS窗口启动SQL*Plus 13
第1章 简单查询语句 15
1.1 最简单的查询语句 16
1.2 在查询语句中如何选择特定的列 16
1.3 如何书写查询语句 18
1.4 列标题和数据的默认显示格式 20
1.5 如何在SQL语句中使用算术表达式 21
1.6 如何在SQL语句中使用列的别名 23
1.7 连接运算符 24
1.8 DISTINCT运算符 25
1.9 基本查询语句的格式 27
1.10 应该掌握的内容 28
第2章 限制性查询和数据的排序 29
2.1 如何限制所选择的数据行 29
2.2 比较运算符 30
2.3 如何使用BETWEEN AND比较运算符 30
2.4 在SQL语句中使用字符串和日期 32
2.5 使用IN比较运算符 33
2.6 使用LIKE比较运算符 34
2.7 如何使用转义操作符 36
2.8 ORDER BY子句 37
2.9 在ORDER BY子句中使用别名或表达式 39
2.10 在ORDER BY子句中使用列号 40
2.11 在ORDER BY子句中使用多列 41
2.12 在ORDER BY子句中使用在SELECT列表中没有的列 42
2.13 扩充后的查询语句的格式 42
2.14 应该掌握的内容 43
第3章 常用的SQL*Plus命令 44
3.1 DESC[RIBE]命令 44
3.2 SET LINE[SIZE]{80|n}命令 45
3.3 L命令和n text命令 46
3.4 “/”命令 48
3.5 n(设置当前行)命令和A[PPEND](附加)命令 48
3.6 DEL命令 50
3.7 C[HANGE]命令 52
3.8 如何生成脚本文件 54
3.9 如何编辑脚本文件 56
3.10 如何直接运行脚本文件 58
3.11 SPOOL命令 58
3.12 将Oracle数据库的数据导出给其他系统 60
3.13 将数据导出操作自动化 62
3.14 商业智能软件读取Oracle数据的简单方法 67
3.15 应该掌握的内容 71
第4章 单行函数 72
4.1 什么是函数 72
4.2 单行函数简介 72
4.3 单行字符型函数 72
4.4 使用单行字符型函数的实例 77
4.5 数字型函数 78
4.6 日期型数据的处理 81
4.7 日期函数 84
4.8 ROUND和TRUNC函数用于日期型数据 86
4.9 不同数据类型之间的隐含转换 89
4.10 不同数据类型之间的显式转换 89
4.11 应该掌握的内容 97
第5章 NULL值的处理、逻辑操作和函数嵌套 98
5.1 什么是空值 98
5.2 含有空值的表达式的运算 99
5.3 空值的排序 101
5.4 逻辑表达式和逻辑运算符 103
5.5 运算符的优先级 106
5.6 用AND和OR替代BETWEEN AND和IN运算符 107
5.7 NVL函数 109
5.8 DECODE函数 110
5.9 单值函数的嵌套 111
5.10 Oracle 9i新增加的单值函数和表达式 113
5.11 应该掌握的内容 118
第6章 综合数据和分组函数 119
6.1 5个常用的分组函数 119
6.2 COUNT函数 119
6.3 AVG和SUM函数 120
6.4 MIN和MAX函数 120
6.5 GROUP BY子句的应用 122
6.6 改变GROUP BY子句的排序次序 122
6.7 GROUP BY子句的特殊用法 123
6.8 分组函数与GROUP BY子句的非法操作 123
6.9 HAVING子句的使用 125
6.10 分组函数的嵌套 126
6.11 分组函数的空值问题 127
6.12 NVL函数在分组函数中的使用 128
6.13 是否在分组函数中使用NVL函数的商业背景 129
6.14 其他的分组函数和分组函数的小结 129
6.15 应该掌握的内容 129
第7章 多表查询 130
7.1 数据库的规范化 130
7.2 主键和实体完整性 131
7.3 第一范式 131
7.4 消除部分依赖 132
7.5 外键和引用完整性 133
7.6 第二范式 133
7.7 第三范式 134
7.8 规范化过程小结 135
7.9 多表连接 136
7.10 相等连接 136
7.11 连接中表别名的使用 138
7.12 笛卡儿乘积(乘积连接) 138
7.13 自连接 140
7.14 两个以上的表的连接 142
7.15 不等连接 143
7.16 外连接 144
7.17 SQL:1999语法的连接 145
7.18 SQL:1999语法的自然连接 145
7.19 使用USING子句的连接 146
7.20 使用ON子句的连接 147
7.21 使用ON子句的多表连接和附加条件 147
7.22 左外连接 149
7.23 右外连接 150
7.24 全外连接 150
7.25 应该掌握的内容 153
第8章 子查询 155
8.1 为什么引入单行子查询 155
8.2 WHERE子句中的单行子查询 156
8.3 HAVING子句中的单行子查询 159
8.4 FROM子句中的单行子查询 159
8.5 多行子查询 160
8.6 子查询中的空值问题 164
8.7 多列子查询 166
8.8 小结 168
8.9 应该掌握的内容 169
第9章 控制SQL*Plus的环境和数据字典简介 170
9.1 控制SQL*Plus的环境 170
9.2 SQL*Plus的环境变量ECHO 170
9.3 SQL*Plus的环境变量FEEDBACK 172
9.4 SQL*Plus其他常用的环境变量 174
9.5 SQL*Plus的COLUMN格式化命令 174
9.6 SQL*Plus的其他格式化命令 179
9.7 数据字典和数据字典视图 182
9.8 格式化数据字典视图的输出 184
9.9 如何使用数据字典视图 186
9.10 小结 190
9.11 应该掌握的内容 190
第10章 创建表 191
10.1 创建表的语句和例子 191
10.2 命名和引用规则 192
10.3 列的数据类型和默认值 195
10.4 创建表的例子 196
10.5 利用子查询来创建表 198
10.6 修改表的结构 200
10.7 改变对象的名字 206
10.8 为表和列加注释 208
10.9 截断表和删除表 209
10.10 小结 213
10.11 应该掌握的内容 216
第11章 替代变量 218
11.1 替代变量引入的原因 218
11.2 以&开始的替代变量 219
11.3 字符型和日期型替代变量 221
11.4 以&&开始的替代变量 223
11.5 替代变量可以出现的地方 225
11.6 使用DEFINE定义替代变量 227
11.7 使用ACCEPT定义替代变量 228
11.8 如何使用ACCEPT命令的HIDE选项 231
11.9 ACCEPT命令的格式和选项 233
11.10 参数和替代变量的永久设置 234
11.11 小结 237
11.12 应该掌握的内容 237
第12章 数据的维护 238
12.1 准备工作 238
12.2 INSERT语句 239
12.3 INSERT语句中的空值问题 241
12.4 如何向表中插入特殊的值 243
12.5 如何利用子查询向表中插入数据 245
12.6 如何利用替代变量向表中插入数据和将INSERT语句存入脚本文件 246
12.7 利用ACCEPT在INSERT语句中产生用户友好的系统提示 248
12.8 UPDATE语句 249
12.9 基于另一个表来修改记录 253
12.10 利用多列子查询来修改记录 255
12.11 DELETE语句 256
12.12 在使用DELETE时可能出现的问题 258
12.13 基于另一个表来删除行 259
12.14 引入事务处理的原因 260
12.15 什么是Oracle数据库的事务 260
12.16 利用COMMIT和ROLLBACK语句进行事务控制 261
12.17 利用DDL和DCL语句进行事务控制 263
12.18 非正常退出和正常退出SQL*Plus对事务控制的影响 265
12.19 利用AUTOCOMMIT进行事务控制 267
12.20 有关事务处理应注意的一些问题 268
12.21 应该掌握的内容 269
第13章 索引与约束 270
13.1 为什么引入索引 270
13.2 如何建立索引 271
13.3 如何查看索引 272
13.4 使用索引时应注意的问题 274
13.5 基于函数的索引 275
13.6 如何确认Oracle系统是否使用了索引 277
13.7 如何删除索引 279
13.8 为什么要引入约束及如何定义约束 281
13.9 非空约束 282
13.10 查看有关约束的信息 285
13.11 唯一约束 286
13.12 条件约束 290
13.13 主键约束 293
13.14 外键约束 297
13.15 外键约束对INSERT语句的影响 300
13.16 外键约束对DELETE语句的影响 302
13.17 外键约束对UPDATE语句的影响 302
13.18 外键约束对DDL语句的影响 305
1319 外键的ON DELETE SET NULL和ON DELETE CASCADE子句 307
13.20 约束的维护 312
13.21 约束小结 317
13.22 应该掌握的内容 318
第14章 视图 320
14.1 为什么引入视图 320
14.2 使用视图的好处 321
14.3 如何创建视图 323
14.4 如何修改视图 325
14.5 Oracle系统如何管理视图 327
14.6 如何使用视图来进行DML操作 328
14.7 如何使用视图的WITH CHECK_OPTION子句 329
14.8 为什么要使用WITH READ ONLY子句 331
14.9 如何删除视图 333
14.10 内嵌式视图 335
14.11 前n行查询/分析 335
14.12 ROWNUM的更多应用 337
14.13 应该掌握的内容 339
第15章 序列号和同义词 340
15.1 序列号的引入 340
15.2 创建序列号语句的格式 340
15.3 如何创建序列号 341
15.4 如何使用创建的序列号 343
15.5 使用序列号的实例 345
15.6 NEXTVAL和CURRVAL虚(伪)列介绍和它们的使用规则 348
15.7 序列号的修改 351
15.8 删除序列号 354
15.9 引入同义词的原因 355
15.10 如何创建同义词 355
15.11 创建公用同义词 357
15.12 删除同义词 360
15.13 应该掌握的内容 361
第16章 用户管理 362
16.1 控制用户对数据库的访问 362
16.2 创建用户及给用户赋口令 362
16.3 Oracle数据库管理系统中的权限 364
16.4 如何将系统权限授予用户 365
16.5 如何查看用户具有的系统权限 370
16.6 引入角色的原因 372
16.7 角色的创建和使用 373
16.8 对象的权限和授权语句 377
16.9 对象权限授权实例 378
16.10 权限的回收 388
16.11 改变用户的口令 393
16.12 删除用户 395
16.13 CONNECT和RESOURCE角色 397
16.14 应该掌握的内容 402
第17章 图形工具简介和集合操作 403
17.1 PL/SQL Developer简介 403
17.2 Oracle SQL Developer简介 408
17.3 为Oracle SQL Developer配置连接 414
17.4 集合操作符及将使用的表 417
17.5 UNION集合操作(运算)符 419
17.6 UNION ALL集合操作(运算)符 421
17.7 INTERSECT和MINUS集合操作(运算)符 423
17.8 集合操作(运算)符的特点 425
17.9 查询语句的匹配 425
17.10 获取执行计划和控制行的顺序 428
第18章 Express概述和安装 433
18.1 Oracle Application Express简介 434
18.2 Oracle Application Express的诱人之处 435
18.3 可以使用Express完成的工作 435
18.4 适合于使用Express开发的系统 437
18.5 HTTP服务器的选择和软硬件要求 437
18.6 Oracle Application Express安装 441
18.7 Express工作区和用户角色 448
18.8 设置自己的本地环境 449
18.9 登录本地Express实例 452
18.10 创建新用户(账户) 453
第19章 Express的用户界面 455
19.1 Express工作区主页 455
19.2 使用SQL工作室与数据库交互 458
19.3 应用程序构建器 462
第20章 创建和预览Express网页 466
20.1 创建最初的Express应用程序 466
20.2 预览所建的应用程序 471
20.3 使用网络浏览器启动应用程序主页 475
20.4 修改分公司报表 476
20.5 添加员工报表和表单 478
20.6 预览所创建的员工信息网页 482
第21章 编辑Express网页 483
21.1 创建函数 483
21.2 创建列和修改列名 485
21.3 修改列显示格式 487
21.4 以选择列表来显示项的准备工作 491
21.5 为JOBS创建值列表 495
21.6 为EMPLOYEES创建值列表 497
21.7 为DEPARTMENTS创建值列表 498
21.8 编辑JOB项 500
21.9 编辑MANAGER项 501
21.10 编辑DEPARTMENT项 503
21.11 运行并预览网页 504
21.12 汉化报表的显示 508
21.13 汉化表单的显示 509
第22章 在网页中加入链接 512
22.1 在主页上添加“人才荟萃”报表的超链接 512
22.2 创建区域 514
22.3 创建项 516
22.4 将项与报表链接 518
22.5 创建分支 519
22.6 将一列的值链接到另一个网页 521
22.7 创建报表和条件 524
22.8 关闭页码 527
22.9 添加广告用语 529
22.10 如何使用“发现”图标 530
22.11 在主页上加入客户信息 533
22.12 在网页上添加图形 537
第23章 管理数据和部署应用程序 546
23.1 数据加载/卸载工具(数据车间) 546
23.2 将数据卸载到正文文件中 547
23.3 将数据卸载到电子表格文件中 550
23.4 将正文文件的数据加载到Oracle数据库中 551
23.5 将电子表格的数据加载到Oracle数据库中 554
23.6 部署应用程序原理 558
23.7 导出应用程序 559
23.8 下载客户追踪包和创建安装所用的工作区 561
23.9 在cust工作区上安装客户追踪软件包 564
23.10 创建终端用户 568
23.11 通过切换主题来改变用户的界面 571
23.12 公布应用程序的网址 574
23.13 普通用户利用公布的URL访问应用程序 577
参考文献 580
结束语 582
鸣谢 584