目录 1
第Ⅰ部分基础篇 1
第0章软件工程过程和关系数据库 1
0.1什么是数据库 1
0.2数据库模型 2
0.3什么是软件工程过程 12
0.4参考文献 13
第1章在Windows系统中使用Oracle 15
1.1开始使用Oracle 15
1.2设置系统参数 17
1.3使用Oracle命令 22
1.4编辑SQL语句 26
1.5显示“学生-课程(Student-Course)”数据库 32
1.6介绍Oracle的数据字典 34
1.7使用DESC命令 37
1.8书写SQL语句时应遵守某些约定 37
1.9练习 38
第2章基本SQL语句 41
2.1扩展的SELECT语句 41
2.2简单的CREATETABLE命令 44
2.3往已创建的表中插入数据 45
2.4UPDATE命令 50
2.5 DELETE命令 51
2.6 ROLLBACK、COMMIT和SAVEPOINT命令 51
2.7 ALTERTABLE命令 57
2.8数据类型 58
2.9练习 66
第3章笛卡尔积、连接运算和别名 69
3.1 笛卡尔积 69
3.2连接 70
3.3列别名 77
3.4脚本 79
3.5 COUNT和Rownum 81
3.6练习 83
3.7参考文献 85
第4章函数和匹配 87
4.1 COUNT函数 87
4.2其他基本函数 90
4.3进一步讨论数据字典 102
4.4练习 103
第5章查询开发、权限和导出结构 107
5.1查询开发 107
5.2 SQL表达式中的括号 112
5.3导出结构 114
5.4给表和视图授予权限和取消权限 119
5.5查询开发和导出结构 120
5.6练习 128
第6章集合操作 131
6.1集合操作介绍 131
6.2 IN和NOT…IN运算符 133
6.3差(Difference)操作 142
6.4练习 147
第7章连接和子查询 151
7.1使用IN运算的子查询 151
7.2用连接(join)来实现子查询 153
7.3无法转换成子查询的连接 154
7.4使用连接和IN运算的更多例子 156
7.5带运算符的子查询 160
7.6练习 162
第8章GROUP BY和HAVING子句 165
8.1聚集/列函数 165
8.2 GROUP BY子句 165
8.3 HAVING子句 170
8.4审计IN子查询 174
8.5 Null值再讨论 178
8.6练习 181
9.1非相关子查询 183
第9章相关子查询 183
9.2相关子查询 184
9.3存在查询和相关性 187
9.4 NOT EXISTS 196
9.5 SQL的全称限定符和存在限定符 200
9.6练习 208
9.7参考文献 211
第Ⅱ部分高级篇 213
第10章创建表和使用SQLLOADER 213
10.1简单的CREATE TABLE命令 213
10.2 NOT NULL约束 214
10.3 PRIMARY KEY(主键)约束 215
10.4 UNIQUE(惟一性)约束 218
10.5 CHECK(检查)约束 218
10.6引用完整性 219
10.7有关约束名的进一步讨论 224
10.9 SQLLOADER例子1 225
10.8 SQLLOADER 225
10.10 SQLLOADER例子2 228
10.11练习 229
第11章SQLPLUS命令、启动文件和报表 233
11.1创建一个文件(START表)并运行它 233
11.2使用DECODE,GREATEST和LEAST函数 236
11.3 为START文件添加报表命令 239
11.4使用带有ACCEPT和PROMPT命令的START文件 244
11.5使用带有位置输入的START文件 245
11.6练习 247
第12章匿名块、过程、函数和包 249
12.1匿名块 249
12.2具有顺序结构的初级过程 250
12.3 具有选择和迭代功能的过程 255
12.4 函数 258
12.5包 259
12.6定义PL/SQL的INDEX BY表 263
12.7练习 266
12.8参考文献 267
第13章触发器简介 269
13.1什么是触发器? 269
13.2使用WHEN子句 274
13.3一张表上的一个触发器影响另一个触发器 275
13.4变异表 278
13.5练习 279
13.6参考文献 281
附录 283
附录A在UNIX系统中使用Oracle 283
A.1在UNIX环境下启动Oracle 283
A.2登录进运行在UNIX系统之下的Oracle 283
A.3在UNIX系统中编辑SQL命令 285
A.4一些常用的UNIX命令 292
A.5编辑器 296
A.6练习 297
附录B数据字典 299
B.1探索数据字典 300
B.2从数据字典中选择视图的范式 302
B.3表的视图 306
B.4其他对象:表空间和约束 306
B.5有关表空间的视图 306
B.6有关约束的视图 308
B.7练习 309
B.8参考文献 310
附录C学生数据库及相关表 311
附录D Oracle 8i和Oracle 9i新增的改进 315
D.1 Oracle 8i新增的改进 315
D.2 Oracle 9i新增的改进 317
D.3参考文献 318
术语表 319
重要命令和函数表 327