第1章 Oracle 11g数据库简介 1
1.1 数据库基础 1
1.1.1 与数据库相关的概念 1
1.1.2 数据库的类型 2
1.2 E-R图 3
1.2.1 什么是E-R图 4
1.2.2 使用E-R图设计数据库 4
1.3 Oracle数据库的发展 6
1.4 Oracle 11g数据库体系结构 8
1.4.1 Oracle数据库物理存储结构 8
1.4.2 Oracle数据库逻辑存储结构 8
1.4.3 Oracle数据库的内存结构 9
1.4.4 Oracle数据库的进程结构 12
1.5 本章小结 13
1.6 习题 14
第2章 安装Oracle 11g数据库 15
2.1 在Windows下安装Oracle 11g数据库 15
2.1.1 安装的基本条件 15
2.1.2 安装Oracle 11g 16
2.2 卸载Oracle 11g数据库 22
2.3 Oracle 11g数据库的自带工具 24
2.3.1 SQL Plus 24
2.3.2 SQL Developer 25
2.3.3 企业管理器(OEM) 27
2.4 本章小结 33
2.5 习题 33
第3章 数据库管理、配置与维护 34
3.1 管理Oracle 11g数据库 34
3.1.1 使用DBCA创建数据库 34
3.1.2 删除数据库 42
3.2 配置数据库 43
3.2.1 配置监听服务 43
3.2.2 启动和停止监听服务 49
3.2.3 配置网络服务名 50
3.3 管理数据库服务 55
3.3.1 启动和停止数据库 55
3.3.2 更改数据库的启动类型 56
3.4 表空间 58
3.4.1 表空间的概念 58
3.4.2 创建表空间 58
3.4.3 设置默认表空间与临时表空间 60
3.4.4 修改表空间 60
3.4.5 删除表空间 62
3.5 实例演练——在TESTBASE数据库中管理表空间 62
3.6 本章小结 64
3.7 习题 64
第4章 表管理 65
4.1 SQL语言分类 65
4.2 数据类型 66
4.2.1 数值型 66
4.2.2 字符型 66
4.2.3 日期型 67
4.2.4 其他数据类型 67
4.3 创建表 68
4.3.1 基本语法 68
4.3.2 使用语句创建表 69
4.3.3 复制表 70
4.4 修改表 70
4.4.1 修改列 71
4.4.2 添加列 71
4.4.3 删除列 72
4.4.4 重命名列 73
4.4.5 重命名表 74
4.5 删除表 74
4.5.1 表删除操作 74
4.5.2 表截断操作 75
4.6 表约束 76
4.6.1 主键约束 76
4.6.2 非空约束 79
4.6.3 唯一约束 80
4.6.4 检查约束 82
4.6.5 外键约束 84
4.6.6 修改约束 87
4.7 实例演练 88
4.7.1 创建学生信息管理系统所需表 88
4.7.2 为学生信息管理系统表设置约束 90
4.8 本章小结 92
4.9 习题 92
第5章 操作表中的数据 93
5.1 向表中添加数据 93
5.1.1 基本语法 93
5.1.2 向表中添加指定的数据 94
5.1.3 向表中插入特殊值 96
5.1.4 复制表中数据 98
5.2 修改表中数据 99
5.2.1 基本语法 100
5.2.2 修改表中的全部数据 100
5.2.3 按条件修改表中的数据 101
5.3 删除表中数据 102
5.3.1 基本语法 102
5.3.2 删除表中的全部数据 103
5.3.3 按条件删除数据 103
5.4 实例演练——操作学生管理信息系统表中的数据 104
5.5 本章小结 107
5.6 习题 107
第6章 函数 109
6.1 系统函数 109
6.1.1 数值函数 109
6.1.2 字符函数 112
6.1.3 日期函数 116
6.1.4 转换函数 119
6.1.5 聚合函数 122
6.1.6 其他函数 123
6.2 自定义函数 124
6.2.1 创建函数 124
6.2.2 删除函数 125
6.3 本章小结 126
6.4 习题 126
第7章 查询 127
7.1 运算符 127
7.1.1 算术运算符 127
7.1.2 比较运算符 127
7.1.3 逻辑运算符 128
7.2 基本查询语句 128
7.2.1 基本语法 128
7.2.2 查询表中全部数据 132
7.2.3 查询表中的指定列 132
7.2.4 给列设置别名 133
7.2.5 去除表中的重复记录 133
7.2.6 对查询结果排序 134
7.2.7 在查询中使用表达式 135
7.2.8 使用CASE…WHEN语句查询 136
7.3 带条件的查询语句 137
7.3.1 查询带NULL值的列 138
7.3.2 使用ROWNUM查询指定数目的行 138
7.3.3 范围查询 139
7.3.4 模糊查询 140
7.4 分组查询 141
7.4.1 在分组查询中使用聚合函数 142
7.4.2 带条件的分组查询 142
7.4.3 对分组查询结果排序 143
7.5 多表查询 144
7.5.1 笛卡尔积 144
7.5.2 内连接查询 145
7.5.3 外连接查询 146
7.5.4 交叉连接查询 147
7.6 子查询 148
7.6.1 WHERE子句中的子查询 148
7.6.2 FROM子句中的子查询 149
7.7 实例演练——在学生管理信息系统表中查询数据 149
7.8 本章小结 151
7.9 习题 151
第8章 视图与索引 152
8.1 管理视图 152
8.1.1 视图的作用与分类 152
8.1.2 创建视图 153
8.1.3 删除视图 157
8.1.4 使用DML语句操作视图 158
8.2 管理索引 159
8.2.1 索引的分类 160
8.2.2 创建索引 160
8.2.3 修改索引 162
8.2.4 删除索引 164
8.3 实例演练 164
8.3.1 创建查询学生信息的视图 164
8.3.2 为学生信息表添加索引 165
8.4 本章小结 166
8.5 习题 166
第9章 序列与同义词 168
9.1 序列 168
9.1.1 创建序列 168
9.1.2 使用序列 170
9.1.3 管理序列 173
9.2 同义词 174
9.2.1 创建同义词 174
9.2.2 使用同义词 176
9.2.3 删除同义词 177
9.3 实例演练 178
9.3.1 使用序列添加专业信息 178
9.3.2 为学生信息表创建同义词 179
9.4 本章小结 180
9.5 习题 181
第10章 PL/SQL基本语法 182
10.1 PL/SQL基础 182
10.1.1 数据类型 182
10.1.2 定义常量和变量 183
10.1.3 流程控制语句 185
10.2 异常处理 190
10.2.1 异常的分类 190
10.2.2 自定义异常 191
10.3 事务 192
10.3.1 事务的特性 192
10.3.2 事务的应用 193
10.4 游标 194
10.4.1 显式游标 194
10.4.2 隐式游标 196
10.5 本章小结 197
10.6 习题 197
第11章 存储过程与触发器 198
11.1 管理存储过程 198
11.1.1 创建无参的存储过程 198
11.1.2 创建带参数的存储过程 199
11.1.3 管理存储过程 202
11.2 触发器 203
11.2.1 触发器的类型 204
11.2.2 创建DML触发器 204
11.2.3 创建DDL触发器 207
11.2.4 管理触发器 208
11.3 实例演练 209
11.3.1 为查询学生专业创建存储过程 209
11.3.2 创建触发器复制删除的学生信息 210
11.4 本章小结 211
11.5 习题 211
第12章 用户与权限 212
12.1 用户 212
12.1.1 创建用户 212
12.1.2 修改用户 213
12.1.3 删除用户 214
12.2 权限 215
12.2.1 权限的类型 215
12.2.2 授予权限 216
12.2.3 撤销权限 218
12.2.4 查看权限 220
12.3 角色 220
12.3.1 创建角色 221
12.3.2 管理角色的权限 222
12.3.3 给用户授予角色 225
12.3.4 管理角色 226
12.4 本章小结 227
12.5 习题 227
第13章 备份与恢复 228
13.1 数据库备份 228
13.1.1 物理备份 228
13.1.2 逻辑备份 230
13.1.3 使用企业管理器(OEM)导出数据 235
13.2 数据库恢复 243
13.2.1 物理恢复数据库 243
13.3.2 逻辑导入数据 245
13.2.3 使用企业管理器(OEM)导入数据 247
13.3 本章小结 247
13.4 习题 248
第14章 使用Java语言开发学生选课系统 249
14.1 系统概述 249
14.2 系统设计 250
14.2.1 数据表设计 250
14.2.2 功能设计 251
14.2.3 数据库连接类设计 252
14.3 系统实现 255
14.3.1 登录注册功能 255
14.3.2 选课功能 261
14.3.3 管理选课信息 267
14.4 本章小结 269
参考文献 270