第1章 概论 1
1.1 数据库系统概述 1
1.1.1 数据库 1
1.1.2 数据库管理系统 2
1.1.3 数据库系统 2
1.2 数据模型 3
1.2.1 数据模型组成要素 4
1.2.2 层次模型、网状模型和关系模型 5
1.2.3 关系数据库 6
1.3 数据库系统结构 8
1.3.1 数据库系统的三级模式结构 8
1.3.2 数据库的二级映像功能和数据独立性 9
1.3.3 数据库管理系统的工作过程 9
1.4 数据库设计 10
1.4.1 需求分析 11
1.4.2 概念结构设计 11
1.4.3 逻辑结构设计 13
1.4.4 物理结构设计 15
1.4.5 数据库实施 15
1.4.6 数据库运行和维护 15
1.5 应用举例 15
1.6 小结 16
习题1 17
第2章 Oracle 1 1g数据库 19
2.1 Oracle 11g数据库的特性 19
2.2 Oracle 11g数据库安装 21
2.2.1 安装要求 21
2.2.2 Oracle 11g数据库安装步骤 21
2.3 Oracle数据库开发工具 27
2.3.1 SQL Plus 27
2.3.2 SQL Developer 31
2.3.3 Oracle Enterprise Manager 33
2.4 Oracle 11 g数据库卸载 36
2.4.1 停止所有Oracle服务 37
2.4.2 卸载所有Oracle组件 37
2.4.3 手动删除Oracle残留部分 37
2.5 小结 41
习题2 41
第3章 创建数据库 43
3.1 Oracle数据库的体系结构 43
3.1.1 逻辑结构 43
3.1.2 物理结构 45
3.1.3 总体结构 46
3.2 删除数据库 49
3.3 创建数据库 50
3.4 小结 54
习题3 55
第4章 创建和使用表 57
4.1 创建表空间 57
4.2 表的基本概念 60
4.2.1 表和表结构 60
4.2.2 数据类型 62
4.2.3 表结构设计 63
4.3 使用SQL Developer操作表 64
4.3.1 使用SQL Developer创建表 65
4.3.2 使用SQL Developer修改表 66
4.3.3 使用SQL Developer删除表 68
4.4 操作表数据 68
4.5 小结 71
习题4 72
第5章 PL/SQL基础 74
5.1 SQL和PL/SQL 74
5.1.1 SQL语言 74
5.1.2 PL/SQL预备知识 76
5.2 在PL/SQL中的数据定义语言 77
5.2.1 数据库操作语句 77
5.2.2 表空间操作语句 81
5.2.3 表操作语句 83
5.3 在PL/SQL中的数据操纵语言 87
5.3.l插入语句 88
5.3.2 修改语句 90
5.3.3 删除语句 90
5.4 在PL/SQL中的数据查询语言 91
5.4.1 投影查询 91
5.4.2 选择查询 94
5.4.3 分组查询和统计计算 98
5.4.4 排序查询 104
5.5 综合训练 105
5.6 小结 106
习题5 107
第6章 PL/SQL高级查询 108
6.1 连接查询 108
6.1.1 使用连接谓词指定的连接 108
6.1.2 使用JOIN关键字指定的连接 111
6.2 集合查询 114
6.2.1 使用UNION操作符 115
6.2.2 使用UNION ALL操作符 116
6.2.3 使用INTERSECT操作符 116
6.2.4 使用MINUS操作符 117
6.3 子查询 118
6.3.1 IN子查询 119
6.3.2 比较子查询 121
6.3.3 EXISTS子查询 122
6.4 综合训练 123
6.5 小结 126
习题6 126
第7章 视图 128
7.1 创建视图 128
7.1.1 使用SQL Developer创建视图 128
7.1.2 使用PL/SQL语句创建视图 129
7.2 查询视图 130
7.3 更新视图 132
7.3.1 可更新视图 132
7.3.2 插入数据 133
7.3.3 修改数据 134
7.3.4 删除数据 134
7.4 修改视图定义 135
7.4.1 使用SQL Developer修改视图定义 135
7.4.2 使用PL/SQL语句修改视图定义 136
7.5 删除视图 137
7.5.1 使用SQL Developer删除视图 137
7.5.2 使用PL/SQL语句删除视图 137
7.6 小结 138
习题7 138
第8章 索引、同义词和序列 140
8.1 索引概述 140
8.2 创建索引、修改索引和删除索引 142
8.2.1 创建索引 142
8.2.2 修改索引 143
8.2.3 删除索引 145
8.3 同义词概述 145
8.4 创建、使用和删除同义词 146
8.4.1 创建同义词 146
8.4.2 使用同义词 146
8.4.3 删除同义词 148
8.5 序列概述 148
8.6 创建、使用、修改和删除序列 149
8.6.1 创建序列 149
8.6.2 使用序列 150
8.6.3 修改序列 151
8.6.4 删除序列 151
8.7 小结 151
习题8 152
第9章 数据完整性 154
9.1 数据完整性概述 154
9.2 域完整性 156
9.2.1 使用SQL Developer实现域完整性 156
9.2.2 使用PL/SQL语句实现域完整性 157
9.3 实体完整性 159
9.3.1 使用SQL Developer实现实体完整性 159
9.3.2 使用PL/SQL语句实现实体完整性 161
9.4 参照完整性 162
9.4.1 使用SQL Developer实现参照完整性 163
9.4.2 使用PL/SQL语句实现参照完整性 164
9.5 综合训练 167
9.6 小结 169
习题9 169
第10章 PL/SQL程序设计 171
10.1 PL/SQL编程 171
10.2 PL/SQL字符集 172
10.3 数据类型 172
10.3.1 常用数据类型 172
10.3.2 数据类型转换 173
10.4 标识符、常量和变量 174
10.4.1 标识符 174
10.4.2 常量 174
10.4.3 变量 174
10.5 运算符和表达式 176
10.5.1 算术运算符 176
10.5.2 关系运算符 177
10.5.3 逻辑运算符 178
10.5.4 表达式 179
10.6 PL/SQL基本结构和控制语句 180
10.6.1 PL/SQL程序块 180
10.6.2 条件结构 183
10.6.3 CASE语句 185
10.6.4 循环结构 188
10.6.5 GOTO语句 191
10.6.6 异常 192
10.7 应用举例 193
10.8 小结 196
习题10 197
第11章 函数和游标 199
11.1 系统内置函数 199
11.1.1 数学函数 199
11.1.2 字符串函数 201
11.1.3 日期函数 204
11.1.4 统计函数 205
11.2 用户定义函数 207
11.2.1 创建用户定义函数 207
11.2.2 调用用户定义函数 209
11.2.3 删除用户定义函数 209
11.3 游标 210
11.3.1 显式游标 210
11.3.2 隐式游标 213
11.3.3 游标FOR循环 214
11.3.4 游标变量 215
11.4 包 216
11.5 应用举例 218
11.6 小结 222
习题11 223
第12章 存储过程 224
12.1 存储过程概述 224
12.2 存储过程的创建和调用 224
12.2.1 创建存储过程 225
12.2.2 存储过程的调用 227
12.2.3 存储过程的删除 228
12.3 存储过程的参数 228
12.3.1 带输入参数存储过程的使用 228
12.3.2 带输出参数存储过程的使用 230
12.3.3 带输入输出参数存储过程的使用 231
12.4 应用举例 231
12.5 小结 234
习题12 235
第13章 触发器 237
13.1 触发器概述 237
13.2 使用PL/SQL语句创建触发器 238
13.2.1 使用PL/SQL语句创建DML触发器 238
13.2.2 创建INSTEAD OF触发器 242
13.2.3 创建系统触发器 244
13.3 使用图形界面创建触发器 245
13.4 触发器的管理 246
13.4.1 查看和编辑触发器 246
13.4.2 删除触发器 246
13.4.3 启用或禁用触发器 247
13.5 应用举例 248
13.6 小结 250
习题13 251
第14章 事务和锁 253
14.1 事务的基本概念 253
14.1.1 事务的概念 253
14.1.2 事务特性 253
14.2 事务处理 254
14.2.1 事务的开始与结束 254
14.2.2 使用COMMIT语句提交事务 255
14.2.3 使用ROLLBACK语句回退全部事务 256
14.2.4 设置保存点回退部分事务 256
14.3 并发事务和锁 259
14.3.1 并发事务 259
14.3.2 事务隔离级别 262
14.3.3 锁机制 262
14.3.4 锁的类型 263
14.3.5 死锁 263
14.4 小结 264
习题14 264
第15章 安全管理 266
15.1 安全管理概述 266
15.2 用户管理 267
15.2.1 创建用户 268
15.2.2 修改用户 269
15.2.3 删除用户 270
15.2.4 查询用户信息 270
15.3 权限管理 271
15.3.1 权限概述 271
15.3.2 系统权限 271
15.3.3 对象权限 276
15.3.4 权限查询 277
15.4 角色管理 278
15.4.1 角色概述 279
15.4.2 创建角色 280
15.4.3 修改角色 281
15.4.4 授予角色权限和收回权限 282
15.4.5 将角色授予用户 282
15.4.6 角色的启用和禁用 282
15.4.7 收回用户的角色 283
15.4.8 删除角色 283
15.4.9 查询角色信息 283
15.5 概要文件 284
15.5.1 创建概要文件 284
15.5.2 管理概要文件 285
15.6 数据库审计 287
15.6.1 登录审计 287
15.6.2 操作审计 288
15.6.3 对象审计 289
15.6.4 权限审计 290
15.7 综合训练 291
15.8 小结 292
习题15 293
第16章 备份和恢复 295
16.1 备份和恢复概述 295
16.1.1 备份概述 295
16.1.2 恢复概述 296
16.2 逻辑备份与恢复 297
16.2.1 使用Export和Import进行导出和导入 297
16.2.2 使用数据泵EXPDP和IMPDP进行导出和导入 299
16.3 脱机备份与恢复 301
16.3.1 脱机备份 301
16.3.2 脱机恢复 303
16.4 联机备份与恢复 304
16.4.1 设置归档日志模式,创建恢复目录用的表空间 304
16.4.2 创建RMAN用户 306
16.4.3 使用RMAN程序进行备份 307
16.4.4 使用RMAN程序进行恢复 310
16.5 闪回技术 310
16.5.1 查询闪回 311
16.5.2 表闪回 312
16.5.3 删除闪回 314
16.5.4 数据库闪回 315
16.5.5 归档闪回 321
16.6 小结 324
习题16 324
第17章 Java EE开发基础 326
17.1 Java EE传统开发和框架开发 326
17.1.1 Java EE传统开发 326
17.1.2 Java EE框架开发 328
17.2 JDK安装和配置 329
17.2.1 JDK下载和安装 329
17.2.2 JDK配置 329
17.2.3 JDK安装测试 331
17.3 Tomcat安装 331
17.4 MyEclipse安装和配置 331
17.4.1 MyEclipse下载和安装 332
17.4.2 MyEclipse配置 332
17.5 Java EE项目开发 336
17.5.1 简单的Java项目开发 336
17.5.2 简单的Web项目开发 338
17.5.3 项目的导出和导入 344
17.6 创建对Oracle 11g的连接 348
17.7 小结 351
习题17 351
第18章 Java EE和Oracle 11g学生成绩管理系统开发 353
18.1 系统构成 353
18.1.1 整合原理 353
18.1.2 学生成绩管理系统数据库 354
18.1.3 层次划分 356
18.1.4 准备Jar包 357
18.2 持久层开发 359
18.2.1 生成POJO类及映射文件 359
18.2.2 公共数据访问类 362
18.3 业务层开发 363
18.3.1 业务逻辑接口 363
18.3.2 业务逻辑实现类 365
18.3.3 事务管理配置 367
18.4 表示层开发 369
18.4.1 配置struts. xml和web. xml 370
18.4.2 主界面设计 372
18.4.3 添加学生信息设计 375
18.4.4 查询学生信息设计 379
18.5 小结 382
习题18 383
附录A习题参考答案 385
附录B stsys数据库的表结构和样本数据 404