前言 1
第一部分 数据库基础 1
第1章 数据库介绍 1
1.1 是什么数据库 1
1.1.1 表 1
译者序 1
1.1.2 行/记录 2
1.1.3 列/字段 2
1.2.1 行数多 3
1.2.2 允许许多用户同时使用 3
1.2 数据库与电子表格有何不同 3
1.2.3 安全 4
1.2.4 关系能力 4
1.2.5 保证数据质量的约束条件 5
1.3 怎样知道本书是否对你有用 6
1.3.1 在作为数据库管理员时 6
1.3.2 在开发软件时 6
1.3.3 在进行业务分析时 6
1.3.4 如果只想知道怎样更好地利用数据库 6
1.4 SQL的历史 7
1.5 SQL命令种类 7
1.5.4 数据检索命令 8
1.5.3 数据控制命令 8
1.5.5 事务处理控制命令 8
1.5.2 数据操纵命令 8
1.5.1 数据定义命令 8
1.6 小结 9
1.7 习题 10
1.8 习题答案 11
第2章 数据存储和检索基础 12
2.1 一个快速的练习 12
2.1.1 建立一个表 12
2.1.2 插入记录 13
2.1.3 选择记录 14
2.1.4 删除表 14
2.2 建立表 16
2.2.1 表和列的命名准则 16
2.2.2 建立更复杂的表 20
2.2.3 显示表的结构 26
2.2.4 NULL和NOT NULL列 27
2.3 插入数据 28
2.3.1 怎样插入包含NULL值的记录 29
2.3.2 怎样插入包含单引号的数据 31
2.4 查看数据 32
2.4.1 选择特定的列 32
2.4.2 改变列的次序 33
2.4.3 利用表中数据进行计算 34
2.4.4 将两个或多个文本连接在一起 36
2.4.5 对列指定别名 37
2.5 小结 37
2.6 习题 39
2.7 习题答案 41
第3章 高级数据操纵 42
3.1 限定所选择的记录 42
3.1.1 基于数值过滤记录 42
3.1.2 基于文本过滤记录 46
3.1.3 基于日期过滤记录 48
3.2 改变记录顺序 49
3.3 显示唯一值 52
3.4 从DUAL中选择 54
3.5 更改表中的数据 55
3.6 删除表中的记录 56
3.6.1 删除匹配指定条件的行 56
3.7.1 撤消DML事务处理 57
3.7 事务处理控制 57
3.6.2 删除所有的行 57
3.7.2 使数据为其他人所用 61
3.7.3 隐式和显式的COMMIT 62
3.8 小结 62
3.9 习题 63
3.10 习题答案 64
第4章 控制SQL Plus 65
4.1 编辑命令 65
4.1.1 使用文本编辑器 65
4.1.2 行编辑 67
4.2 复制和粘贴 69
4.4.1 用SQL Plus菜单进行定制 71
4.4 定制SQL Plus环境 71
4.3 清除SQL Plus屏幕 71
4.4.2 使用命令进行定制 73
4.5 保存环境定制值 73
4.6 产生更可读的输出 74
4.6.1 在SQL Plus中格式化数值 74
4.6.2 SQL Plus中的格式化文本 76
4.6.3 格式化SQL Plus的列标题 76
4.7 将输出结果假脱机到磁盘 78
4.8 SQL脚本文件 78
4.8.1 建立脚本文件 79
4.8.2 运行脚文件 79
4.8.3 在脚本文件中使用变量 80
4.10 习题 82
4.9 小结 82
4.11 习题答案 83
第二部分 高级SQL 85
第5章 SQL函数 85
5.1 常用的单行函数 86
5.1.1 系统变量函数 86
5.1.2 数值函数 88
5.1.3 文本函数 90
5.1.4 日期函数 100
5.1.5 数据转换函数 105
5.1.6 其他函数 112
5.2 常用的分组函数 119
5.2.1 利用GROUP BY子句分组数据 121
5.2.2 利用HAVING子句包含和排除分组的行 123
5.3 小结 124
5.4 习题 124
5.5 习题答案 125
第6章 使用索引和约束条件 127
6.1 索引 129
6.1.1 数据库的索引 129
6.1.2 索引何时有用 130
6.1.3 如何建立索引 131
6.1.4 各种索引类型 132
6.2.2 怎样建立约束条件 134
6.2.1 什么是约束条件 134
6.2 保持数据的完整性:约束条件 134
6.2.3 启用和禁止已有的约束条件 141
6.2.4 更改和删除已有的约束条件 143
6.2.5 约束条件使用范围 144
6.3 表之间的关系 145
6.3.1 数据模型介绍 145
6.3.2 使用约束条件加强表之间的关系 146
6.3.3 编写SELECT语句显示多个表中的数据 151
6.3.4 外部连接 154
6.3.5 连接运算符 155
6.4.2 子查询可以解决的问题类型 158
6.4.3 单行子查询 158
6.4.1 什么是子查询 158
6.4 编写子查询 158
6.4.4 多行子查询 160
6.4.5 多列子查询 161
6.5 小结 162
6.6 习题 163
6.7 习题答案 164
第7章 其他有用的Oracle技术 165
7.1 在表之间传输数据 168
7.1.1 利用INSERT传输数据 169
7.1.2 基于已有的表建立新表 170
7.2 重新命名表 171
7.3.1 增加列 172
7.3 更改表的结构 172
7.3.2 更改列的数据类型 173
7.3.3 更改空值选项 173
7.4 视图 174
7.4.1 建立视图 175
7.4.2 删除视图 176
7.4.3 更改视图的定义 177
7.4.4 TOPN分析 177
7.5 其他数据库对象 178
7.5.1 序列 178
7.5.2 同义词 181
7.5.3 Oracle数据字典 183
7.6 小结 183
7.7 习题 185
7.8 习题答案 186
第8章 PL/SQL 187
8.1 PL/SQL介绍 187
第三部分 用PL/SQL编程 187
8.1.1 PL/SQL描述 191
8.1.2 PL/SQL、SQL和SQL Plus之间的关系 191
8.1.3 存储过程、函数和触发器 191
8.1.4 存储过程和SQL脚本 193
8.2 PL/SQL块的结构 193
8.2.1 标题部分 194
8.2.3 执行部分 195
8.2.4 异常部分 195
8.2.2 定义部分 195
8.3 建立一个简单的PL/SQL过程 196
8.4 PL/SQL变量和常量 198
8.4.1 定义PL/SQL变量 199
8.4.2 定义PL/SQL常量 199
8.4.3 给变量赋值 199
8.4.4 使用变量 201
8.5 PL/SQL中的控制结构 201
8.5.1 IF语句 202
8.5.2 循环 204
8.5.3 游标 207
8.5.4 嵌套循环与游标例子 210
8.6.1 异常 213
8.6.2 系统定义异常 213
8.6 错误处理 213
8.6.3 程序员定义的异常 215
8.7 小结 216
8.8 习题 216
8.9 习题答案 217
第9章 其他PL/SQL工具 219
9.1 编码约定 223
9.2 关于PL/SQL和Oracle服务器的更多知识 224
9.2.1 定义动态变量和PL/SQL记录 224
9.2.2 PL/SQL中的DML或隐式游标 228
9.2.3 隐式游标与显式游标 232
9.3 计时操作 232
9.3.1 用一个程序来度量时间 233
9.3.2 使用TIMING命令记录实际的时间 235
9.4 PL/SQL程序包 236
9.5 触发器 241
9.5.1 触发器类型 243
9.5.2 触发器举例 243
9.5.3 修改触发器 246
9.5.4 关于触发器的要点 247
9.6 ODBC 247
9.6.1 建立ODBC连接 248
9.6.2 ODBC连接的应用 252
9.7 小结 256
9.8 习题 257
9.9 习题答案 257
术语 259