第1章 认识Oracle数据库 1
学习任务与目标 1
1.1 Oracle数据库系统 2
1.1.1 Oracle系统的应用 2
1.1.2 Oracle发展史 2
1.1.3 Oracle 10g简介 3
1.2 数据库服务器的安装 4
1.2.1 安装前的准备工作 4
1.2.2 安装Oracle 10g数据库 5
1.2.3 验证安装 14
1.3 连接到Oracle服务器 16
1.4 使用Oracle 10g工具 18
1.4.1 了解Oracle用户账户 18
1.4.2 使用SQL*Plus 18
1.4.3 使用iSQL*Plus 20
1.4.4 使用Oracle企业管理器 22
1.5 Oracle应用系统结构 24
1.6 搭建系统开发环境 26
小结 29
习题1 29
实训1 30
实训1.1 查阅相关资料 30
实训1.2 数据库服务器安装 30
实训1.3 进行网络监听配置 30
实训1.4 Oracle查询工具的使用 36
实训1.5 Oracle企业管理器的使用 36
实训1.6 JSP+TOMCAT+ORACLE的系统搭建 36
第2章 Oracle体系结构 37
学习任务与目标 37
2.1 Oracle体系结构概述 38
2.2 物理存储结构 38
2.2.1 数据文件 39
2.2.2 控制文件 39
2.2.3 重做日志文件 40
2.2.4 归档重做日志文件 41
2.2.5 初始化参数文件 41
2.3 逻辑存储结构 44
2.3.1 逻辑存储结构 44
2.3.2 管理表空间 46
2.4 实例 56
2.4.1 内存结构 56
2.4.2 进程结构 59
2.5 创建数据库 60
2.5.1 使用DBCA创建数据库 60
2.5.2 使用OEM查看数据库信息 69
2.6 数据库的启动和关闭 73
2.6.1 数据库的启动和关闭过程 73
2.6.2 启动模式 74
2.6.3 转换启动模式 75
2.6.4 关闭方式 75
2.7 Oracle数据字典 76
2.7.1 静态数据字典 76
2.7.2 动态性能表 77
2.7.3 常用数据字典视图 78
小结 79
习题2 79
实训2 80
实训2.1 了解数据库服务的工作过程与原理 80
实训2.2 创建控制文件副本 81
实训2.3 创建联机重做日志组和联机重做日志文件 83
实训2.4 管理表空间 84
实训2.5 查看数据字典和动态性能表 85
实训2.6 创建数据库 85
实训2.7 体验数据库的不同关闭方式 86
第3章 使用SQL*Plus 87
学习任务与目标 87
3.1 连接命令 88
3.2 环境设置命令 88
3.3 格式化命令 90
3.4 编辑命令 93
3.5 文件操作命令 94
3.6 交互式命令 95
3.7 其他命令 99
小结 100
习题3 101
实训3 102
实训3.1 进入和退出SQL*Plus 102
实训3.2 假脱机输出 102
实训3.3 使用文件操作命令 102
实训3.4 使用替换变量 103
实训3.5 与用户通信 104
实训3.6 格式化查询结果 105
第4章 管理表 106
学习任务与目标 106
4.1 数据库用户及模式 106
4.1.1 创建用户 107
4.1.2 授予权限 107
4.1.3 修改用户口令 109
4.1.4 删除用户 109
4.2 Oracle数据类型 110
4.3 创建表 111
4.3.1 创建表的操作 111
4.3.2 利用子查询创建表 114
4.3.3 创建使用LOB列存储图像的表 114
4.4 表约束管理 115
4.4.1 约束的类型 115
4.4.2 添加和删除约束 116
4.4.3 设置约束状态 117
4.4.4 查询约束信息 118
4.5 修改表 118
4.6 删除表结构 119
4.7 数据操纵 119
4.7.1 插入数据 120
4.7.2 修改数据 120
4.7.3 删除数据 121
4.8 事务与事务控制语句 122
4.8.1 事务 122
4.8.2 事务控制语句 122
小结 124
习题4 124
实训4 126
实训4.1 用户的创建、更改和删除 126
实训4.2 创建表(包括约束) 126
实训4.3 修改表和修改约束 132
实训4.4 插入数据 132
实训4.5 更新数据 134
实训4.6 联合查询数据 134
实训4.7 提交、回滚事务和设置保留点 135
第5章 其他模式对象 136
学习任务与目标 136
5.1 视图 136
5.1.1 视图概述 136
5.1.2 创建视图 137
5.1.3 视图的DML操作 138
5.1.4 管理视图 140
5.2 索引 141
5.2.1 索引概念 141
5.2.2 索引的分类 142
5.2.3 创建索引 142
5.2.4 索引开销示例 144
5.2.5 管理索引 146
5.3 同义词 147
5.3.1 同义词的概念 147
5.3.2 创建同义词 148
5.3.3 查看同义词 149
5.3.4 删除同义词 149
5.4 序列 149
5.4.1 序列概念 149
5.4.2 创建序列 150
5.4.3 使用序列 151
5.4.4 修改序列 152
5.4.5 删除序列 153
小结 153
习题5 153
实训5 154
实训5.1 创建视图和管理视图 154
实训5.2 创建索引 155
实训5.3 创建同义词 156
实训5.4 创建序列 156
第6章 数据查询 159
学习任务与目标 159
6.1 SQL语言基础 160
6.1.1 SQL语言简介 160
6.1.2 SQL语言分类 160
6.1.3 SQL运算符与表达式 160
6.2 SQL函数 162
6.2.1 字符函数 163
6.2.2 数值函数 165
6.2.3 日期函数 166
6.2.4 转换函数 168
6.2.5 空值函数 168
6.2.6 分组函数 169
6.2.7 分析函数 170
6.3 数据基本查询 173
6.3.1 SELECT基本查询 173
6.3.2 分组查询 175
6.3.3 多表连接查询 176
6.4 运用子查询 177
6.4.1 单行子查询 178
6.4.2 多行子查询 178
6.4.3 多列子查询 179
6.4.4 相关子查询 180
6.4.5 嵌套子查询 181
小结 182
习题6 182
实训6 184
实训6.1 数据准备工作 184
实训6.2 函数的使用 184
实训6.3 运用子查询 185
第7章 PL/SQL编程基础 187
学习任务与目标 187
7.1 PL/SQL概述 188
7.1.1 PL/SQL的特点 188
7.1.2 PL/SQL的执行过程 188
7.1.3 PL/SQL块简介 189
7.2 常量和变量 190
7.2.1 常量值 190
7.2.2 变量和常量 191
7.2.3 使用%TYPE和%ROWTYPE定义属性变量 191
7.3 PL/SQL数据类型 192
7.3.1 标量类型 192
7.3.2 复合类型 193
7.3.3 引用类型 195
7.3.4 LOB类型 195
7.4 程序控制语句 195
7.4.1 NULL语句 196
7.4.2 赋值语句 196
7.4.3 条件控制语句 196
7.4.4 循环控制语句 199
7.5 动态SQL语句 201
7.6 游标 202
7.6.1 隐式游标 202
7.6.2 显式游标 203
7.6.3 循环游标 208
7.6.4 游标变量 209
7.7 异常处理 211
7.7.1 预定义异常 211
7.7.2 非预定义异常 213
7.7.3 用户定义异常 214
小结 215
习题7 215
实训7 217
实训7.1 编写PL/SQL块 217
实训7.2 条件分支控制结构 217
实训7.3 循环控制结构 218
实训7.4 游标 219
实训7.5 动态SQL语句 219
第8章 存储过程、函数、程序包和触发器 220
学习任务与目标 220
8.1 存储过程 221
8.1.1 过程的创建 221
8.1.2 过程的执行 222
8.1.3 参数模式 223
8.1.4 过程的授权 225
8.1.5 过程的管理 226
8.2 函数 227
8.2.1 函数的创建 227
8.2.2 函数的执行 228
8.2.3 函数的授权 229
8.2.4 函数的管理 229
8.3 程序包 230
8.3.1 程序包的创建 231
8.3.2 程序包的执行 232
8.3.3 程序包的管理 233
8.4 触发器 234
8.4.1 触发器概述 234
8.4.2 DML触发器 236
8.4.3 INSTEAD OF触发器 243
8.4.4 DDL触发器 244
8.4.5 系统触发器 246
8.4.6 管理触发器 248
小结 250
习题8 250
实训8 252
实训8.1 存储过程 252
实训8.2 函数 253
实训8.3 程序包 254
实训8.4 语句级触发器 255
实训8.5 行级触发器 256
实训8.6 替代触发器 256
实训8.7 DDL触发器 257
实训8.8 数据库级触发器 258
第9章 用户和安全管理 260
学习任务与目标 260
9.1 用户管理 261
9.1.1 创建用户 261
9.1.2 修改用户 265
9.1.3 删除用户 269
9.1.4 查看用户信息 270
9.2 权限管理 271
9.2.1 系统权限 271
9.2.2 对象权限 278
9.2.3 查询权限信息 284
9.3 角色管理 286
9.3.1 角色概述 286
9.3.2 预定义角色 286
9.3.3 自定义角色 287
9.3.4 管理角色 294
9.3.5 用户角色的激活或屏蔽 295
9.3.6 查询角色信息 295
9.4 概要文件管理 297
9.4.1 概要文件概念及作用 297
9.4.2 概要文件参数 298
9.4.3 利用OEM管理概要文件 299
9.4.4 利用SQL命令管理概要文件 301
9.4.5 查询概要文件信息 303
小结 304
习题9 304
实训9 306
实训9.1 管理用户和权限 306
实训9.2 创建和修改角色 306
实训9.3 为用户授予角色 307
实训9.4 创建和管理概要文件 307
第10章 备份与恢复 308
学习任务与目标 308
10.1 备份和恢复概述 309
10.2 物理备份与恢复 310
10.2.1 脱机备份与恢复 310
10.2.2 联机备份 311
10.2.3 联机恢复 315
10.3 数据库逻辑备份与恢复 320
10.3.1 导出和导入实用程序 320
10.3.2 数据泵技术 324
小结 329
习题10 329
实训10 330
实训10.1 脱机备份与恢复 330
实训10.2 配置系统的归档方式 331
实训10.3 联机备份与恢复 331
实训10.4 使用导出和导入程序进行逻辑备份与恢复 332
实训10.5 使用参数文件进行逻辑备份与恢复 332
第11章 大型数据库Oracle开发教学仿真实训平台HRMS 334
学习任务与目标 334
11.1 数据库设计 335
11.1.1 表 336
11.1.2 索引 340
11.1.3 同义词 341
11.1.4 序列 341
11.1.5 视图 343
11.2 功能界面设计及代码实现 344
11.2.1 雇员管理 345
11.2.2 部门管理 346
11.2.3 职位管理 347
11.2.4 人员变动管理 348
11.2.5 考勤管理 350
11.2.6 绩效管理 351
11.2.7 薪资管理 352
11.2.8 备份与恢复 355
11.2.9 用户管理 356
11.2.10 模块管理 356
11.2.11 权限管理 358
11.2.12 表结构查看 358
11.2.13 其他数据库对象查看 360
11.3 知识应用归纳 361
11.3.1 表 361
11.3.2 索引 361
11.3.3 同义词 362
11.3.4 序列 362
11.3.5 视图 362
11.3.6 数据操纵语言SQL 362
11.3.7 SQL函数 363
11.3.8 子查询 363
11.3.9 大对象BLOB 364
11.3.10 程序包 365
11.3.11 触发器 366
11.3.12 用户管理及授权 366
11.3.13 备份和恢复 367
参考文献 368