第一章 概述 1
1.1 数据库系统的基本概念 1
1.1.1 数据模型 1
1.1.2 数据库系统的三级模式结构 2
1.1.3 数据库管理系统 3
1.2 关系数据库系统 4
1.3 ORACLE系统简介 6
第二章 SQL数据语言 9
2.1 简介 9
2.2 SQL缓冲区与编辑器 10
2.3 SQL的数据定义功能 11
2.4 SQL的基本查询 15
2.4.1 无条件查询 16
2.4.2 条件查询 18
2.4.3 组函数 23
2.4.4 查询结果的排序显示 24
2.4.5 分组统计查询 25
2.4.6 具有集合运算的查询操作 26
2.5 数据更新 28
2.5.1 插入数据 28
2.5.2 修改数据 30
2.5.3 删除数据 31
2.5.4 数据更新的提交与撤消 32
第三章 SQL语言的高级查询 36
3.1 连接查询 36
3.1.1 连接查询的概念 36
3.1.2 两个表的连接查询 37
3.1.3 多表连接查询 38
3.1.4 自连接查询 39
3.1.5 外连接 39
3.2 嵌套查询 40
3.2.1 子查询的引入 40
3.2.2 使用ANY、ALL、IN或EXISTS的查询 42
3.2.3 多层嵌套查询 45
3.2.4 同步操作嵌套查询 46
3.3 树型结构查询 47
3.3.1 问题的提出 47
3.3.2 树型结构查询中使用的两个子句 48
3.3.3 系统列level的使用 49
3.3.4 树型结构查询的排序显示 50
3.3.5 筛选查询 51
第四章 SQL语言的其他定义功能 53
4.1 视图及其使用 53
4.1.1 视图的定义和删除 53
4.1.2 查询视图 55
4.1.3 更新视图 55
4.1.4 多表的视图 56
4.1.5 具有虚列的视图 58
4.2 同义名与重命名 58
4.2.1 同义名 58
4.2.2 重命名 59
4.3 表与视图的复制 59
4.4 索引 59
4.4.1 建立索引 61
4.4.2 索引的使用 62
4.4.3 删除索引 62
4.5 分区 63
4.5.1 数据库文件 63
4.5.2 SYSTEM分区 63
4.5.3 增加一个新的分区 64
4.5.4 增加物理文件 64
4.6 空间定义 65
4.6.1 建立空间定义 65
4.6.2 空间定义的使用 67
4.6.3 修改空间定义 68
4.6.4 删除空间定义 68
4.7 簇 68
4.7.1 建立簇 69
4.7.2 簇的删除 70
第五章 SQL语言的数据控制功能 73
5.1 ORACLE用户授权 73
5.1.1 三种特权 73
5.1.2 授予用户特权 74
5.1.3 收回授予用户的特权 76
5.2 操纵授权与数据共享 76
5.2.1 授予权限 77
5.2.2 数据共享操作 78
5.2.3 收回权限 78
5.3 事务和前映象文件 78
5.3.1 事务 78
5.3.2 前映象文件(BI文件) 80
5.4 ORACLE封锁机制 80
5.4.1 并发操作与数据一致性 80
5.4.2 封锁类型 81
5.4.3 DML级锁的封锁方式 81
5.5.4 死锁 83
5.5 审计跟踪 84
5.6 数据字典 86
第六章 函数与SQL*PLUS命令 90
6.1 函数 90
6.1.1 数字表达式与数字函数 90
6.1.2 字符表达式与字符函数 91
6.1.3 日期表达式与日期函数 93
6.1.4 转换函数 94
6.1.5 空值(NULL)函数 97
6.1.6 其它函数 97
6.2 格式化的报表输出 97
6.2.1 报表页头、页尾和栏目标题的设置 98
6.2.2 报表规格设置 100
6.2.3 数据输出的格式 100
6.2.4 数据的输出方式 102
6.2.5 带有统计值的格式报表 104
6.3 SQL*PLUS命令文件 106
6.3.1 SQL*PLUS缓冲区与编辑器 107
6.3.2 SQL*PLUS命令文件的执行 108
6.3.3 存贮和打印查询结果 108
6.4 帮助命令和实用命令 109
6.4.1 帮助命令 109
6.4.2 实用命令 109
第七章 预编译接口 112
7.1 预编译接口简介 112
7.2 PRO*C程序结构 114
7.2.1 程序首部 114
7.2.2 程序体 118
7.3 PRO*C举例 118
7.3.1 数据定义 118
7.3.2 数据更新 119
7.3.3 数据查询 122
7.3.4 数据控制 125
7.4 错误检测 126
7.5 动态SQL语句 129
7.5.1 EXECUTE IMMEDIATE语句 129
7.5.2 PREPARE和EXECUTE语句 130
7.5.3 使用PREPARE和FETCH语句 132
7.5.4 使用DESCRIBE语句 133
7.6 PRO*C预编译 135
第八章 ORACLE调用接口(OCI) 138
8.1 OCI程序简介 138
8.1.1 OCI程序基本结构 138
8.1.2 游标数据区和注册数据区 139
8.1.3 替换变量 143
8.2 OCI的各种调用 143
8.2.1 ORACLE调用中的参数 143
8.2.2 olon()调用 144
8.2.3 orlon()调用 144
8.2.4 oopcn()调用 145
8.2.5 osq13()调用 146
8.2.6 odsc()调用 146
8.2.7 odcf in()调用 147
8.2.8 oname()调用 149
8.2.9 obnd rv()和obnd rn()调用 149
8.2.10 oopt()调用 151
8.2.11 ocxcc()调用 151
8.2.12 ocxn()调用 151
8.2.13 ofct ch()调用 152
8.2.14 ofen()调用 153
8.2.15 obrcak()调用 153
8.2.16 ocan()调用 154
8.2.17 ocom()调用 154
8.2.18 orol()调用 154
8.2.19 ocon()调用 155
8.2.20 ocof()调用 155
8.2.21 ocrmsg()调用 155
8.2.22 oclose()调用 155
8.2.23 ologof()调用 156
8.3 内、外部数据的类型和转换 156
8.3.1 ORACLE支持的内、外部数据类型 156
8.3.2 数据转换 158
8.4 OCI程序的编制 158
8.4.1 C-OCI程序编写的主要特点 158
8.4.2 数据定义 160
8.4.3 数据更新 161
8.4.4 数据查询 165
8.4.5 多个数据库的并行操作 166
8.5 事务管理与错误处理 169
8.5.1 事务管理 169
8.5.2 错误处理 169
第九章 SQL*FORMS 175
9.1 SQL*FORMS概述 175
9.2 FORM的设计过程 178
9.3 FORM级的生成与定义 179
9.4 块级的生成与定义 183
9.5 域级的生成与定义 193
9.6 屏幕画面设计 203
9.7 触发器 206
9.7.1 触发器概述 206
9.7.2 各级触发器的类型和用途 208
9.7.3 编写触发器的命令 212
9.7.4 触发器定义 218
9.7.5 触发器的执行 224
9.8 FORM的运行过程 225
9.8.1 数据查询 226
9.8.2 数据更新 227
第十章 报表生成软件SQL*Report 229
10.1 SQL*Report概述 229
10.2 报表正文格式化程序RPF 230
10.2.1 RPF的几个概念 230
10.2.2 运行RPF 231
10.2.3 RPF命令 231
10.2.4 使用反斜线(\) 237
10.2.5 RPF举例 237
10.3 报表生成程序RPT 239
10.3.1 综述几个问题 239
10.3.2 SQL*Report语句 240
10.4 打印报表举例 249
10.4.1 打印有统计值的报表 249
10.4.2 打印带横竖线的报表 250
10.4.3 打印嵌套报表 252
第十一章 电子表格软件SQL*CALC 256
11.1 SQL*CALC概述 256
11.1.1 表格处理的一般过程 256
11.1.2 一些基本概念 256
11.1.3 SQL*CALC的启动 258
11.2 在基本提示下的操作 259
11.2.1 SQL*CALC的功能键 259
11.2.2 数和文字的输入 260
11.2.3 公式的输入 261
11.2.4 对输入的数字、文字和公式的编辑 262
11.3 表格命令 262
11.3.1 命令的输入 262
11.3.2 表格命令 263
11.4 使用ORACLE数据库表 270
11.4.1 对ORACLE的注册与SQL语句的输入 271
11.4.2 使用SQL SELECT语句查询数据 271
11.4.3 使用其它的SQL语句 274
11.4.4 SQL语句的执行 275
11.4.5 ORACLE命令 275
附录A SQL语句一览表 279
附录B SQL*PLUS命令一览表 286