第1章 数据库的基本概念与Oracle环境 1
1.1 数据库基本概念 2
1.1.1 数据库与数据库管理系统 2
1.1.2 数据模型 2
1.1.3 关系型数据库语言 2
1.2 Oracle数据库环境 3
1.2.1 Oracle数据库简介 3
1.2.2 Oracle 11g的安装 3
1.2.3 Oracle 11g的卸载 9
1.3 Oracle的管理工具 11
1.3.1 企业管理器 11
1.3.2 SQL*Plus工具 12
1.3.3 SQLDeveloper工具 14
小结 18
上机指导 18
习题 20
第2章 数据库创建 21
2.1 Oracle数据库基本概念 22
2.1.1 逻辑存储结构 22
2.1.2 物理存储结构 25
2.1.3 实例 26
2.2 界面方式创建数据库 31
2.2.1 数据库的创建与删除 32
2.2.2 数据库的修改 35
2.3 命令方式创建数据库 39
2.3.1 创建数据库 40
2.3.2 修改数据库 46
2.3.3 删除数据库 47
小结 48
上机指导 48
习题 49
第3章 表与表数据操作 50
3.1 表结构和数据类型 51
3.1.1 表和表结构 51
3.1.2 数据类型 51
3.1.3 表结构设计 53
3.2 创建和管理表空间 54
3.2.1 界面方式创建表空间 54
3.2.2 命令方式创建表空间 56
3.3 界面方式操作表 60
3.3.1 OEM方式操作表 60
3.3.2 使用SQLDeveloper操作表 64
3.4 命令方式操作表 66
3.4.1 创建表 66
3.4.2 修改表 68
3.4.3 删除表 71
3.5 操作表数据 71
3.5.1 插入数据 71
3.5.2 修改记录 73
3.5.3 删除记录 74
小结 76
上机指导 76
习题 77
第4章 数据库的查询和视图 78
4.1 选择、投影和连接 79
4.1.1 选择 79
4.1.2 投影 79
4.1.3 连接 79
4.2 数据库的查询 80
4.2.1 选择列 81
4.2.2 选择行 84
4.2.3 连接 89
4.2.4 统计 94
4.2.5 排序 96
4.3 数据库视图 97
4.3.1 视图的概念 97
4.3.2 创建视图 98
4.3.3 查询视图 99
4.3.4 更新视图 100
4.3.5 修改视图的定义 101
4.3.6 删除视图 102
小结 102
上机指导 102
习题 103
第5章 索引与数据完整性 105
5.1 索引 106
5.1.1 索引的分类 106
5.1.2 建立索引的注意事项 106
5.1.3 创建索引 107
5.1.4 维护索引 109
5.1.5 删除索引 109
5.2 数据的完整性和约束性 110
5.2.1 非空约束 110
5.2.2 主键约束 111
5.2.3 唯一性约束 113
5.2.4 外键约束 114
5.2.5 禁用约束 116
5.2.6 激活约束 117
5.2.7 删除约束 117
小结 118
上机指导 118
习题 119
第6章 PL/SQL语言介绍 120
6.1 PL/SQL概述 121
6.1.1 PL/SQL的特点 121
6.1.2 PL/SQL的开发和运行环境 121
6.2 PL/SQL字符集 121
6.2.1 合法字符 121
6.2.2 运算符 122
6.2.3 其他符号 122
6.3 PL/SQL变量、常量和数据类型 123
6.3.1 定义变量和常量 123
6.3.2 基本数据类型 124
6.3.3 特殊数据类型 125
6.4 PL/SQL基本程序结构和语句 128
6.4.1 PL/SQL程序块 128
6.4.2 选择语句 129
6.4.3 循环结构 133
6.4.4 选择和跳转语句 135
6.4.5 异常 137
6.4.6 空操作和空值 142
6.5 系统内置函数 142
6.5.1 字符类函数 142
6.5.2 数字类函数 145
6.5.3 日期和时间类函数 146
6.5.4 转换类函数 147
6.5.5 聚合类函数 147
6.6 函数 148
6.6.1 函数的创建与调用 148
6.6.2 函数的删除 149
6.7 游标 149
6.7.1 显式游标 150
6.7.2 隐式游标 153
6.7.3 使用游标变量 153
6.7.4 使用游标表达式 155
6.8 程序包的使用 155
6.8.1 程序包的规范 156
6.8.2 程序包的主体 157
小结 158
上机指导 158
习题 159
第7章 存储过程和触发器 160
7.1 存储过程 161
7.1.1 存储过程的创建和执行 161
7.1.2 存储过程的修改 162
7.1.3 存储过程的删除 163
7.2 触发器 163
7.2.1 利用SQL语句创建触发器 163
7.2.2 利用界面方式创建触发器 169
7.2.3 启用和禁用触发器 170
7.2.4 触发器的删除 171
7.3 事务 171
7.3.1 事务的概念 171
7.3.2 事务处理 172
7.3.3 自治事务 178
7.4 锁 178
7.4.1 锁机制和死锁 179
7.4.2 锁的类型 179
7.4.3 表锁和事务锁 180
小结 181
上机指导 181
习题 182
第8章 高级数据类型 183
8.1 Oracle数据库与大对象数据 184
8.1.1 大对象数据类型 184
8.1.2 Oracle数据库中导入大对象数据 184
8.2 Oracle数据库与XML 187
8.2.1 XML概述 187
8.2.2 Oracle XML DB概述 189
8.2.3 Oracle数据库中导入XML数据 190
8.2.4 XQuery的基本用法 192
小结 196
上机指导 196
习题 197
第9章 系统安全管理 198
9.1 用户 199
9.1.1 创建用户 199
9.1.2 管理用户 201
9.2 权限管理 202
9.2.1 权限概述 202
9.2.2 系统权限管理 203
9.2.3 对象权限管理 205
9.2.4 安全特性 205
9.3 角色管理 207
9.3.1 角色概述 207
9.3.2 创建用户角色 208
9.3.3 管理用户角色 208
9.4 概要文件和数据字典视图 209
9.4.1 使用概要文件管理密码 209
9.4.2 使用概要文件管理资源 211
9.4.3 数据字典视图 212
9.5 审计 214
9.5.1 审计启用 214
9.5.2 登录审计 216
9.5.3 操作审计 217
9.5.4 权限审计 218
小结 219
上机指导 219
习题 220
第10章 备份和恢复 221
10.1 备份和恢复概述 222
10.2 RMAN备份恢复工具 223
10.2.1 RMAN的好处 223
10.2.2 RMAN组件基础 224
10.2.3 分配RMAN通道 225
10.2.4 RMAN的常用命令 227
10.3 使用RMAN工具实现数据备份 228
10.3.1 RMAN备份策略 228
10.3.2 使用RMAN备份数据库文件和归档日志 229
10.3.3 增量备份 231
10.4 使用RMAN工具实现数据恢复 232
10.4.1 数据的完全恢复 232
10.4.2 数据的不完全恢复 234
10.5 数据泵 237
10.5.1 数据泵概述 237
10.5.2 数据泵的使用 238
小结 244
上机指导 244
习题 246
第11章 闪回操作和Undo表空间 247
11.1 闪回操作 248
11.1.1 基本概念 248
11.1.2 闪回数据库 248
11.1.3 闪回数据表 252
11.1.4 闪回丢弃 254
11.1.5 其他闪回技术 255
11.2 Undo表空间 257
11.2.1 自动Undo管理 257
11.2.2 Undo表空间的优点 257
11.2.3 Undo表空间管理参数 257
11.2.4 创建和管理Undo表空间 258
小结 259
上机指导 259
习题 260
第12章 其他概念 261
12.1 数据库链接 262
12.1.1 创建数据库链接 262
12.1.2 使用数据库链接 263
12.1.3 删除数据库链接 263
12.2 快照 264
12.2.1 创建快照 264
12.2.2 修改快照 268
12.2.3 删除快照 269
12.3 序列 269
12.3.1 创建序列 269
12.3.2 管理序列 271
小结 271
上机指导 271
习题 272
第13章 综合案例——企业人事管理系统 273
13.1 需求分析 274
13.2 系统设计 274
13.2.1 系统目标 274
13.2.2 系统功能结构 274
13.2.3 系统业务流程 274
13.2.4 系统预览 275
13.2.5 系统编码规范 278
13.3 系统开发及运行环境 278
13.4 数据库设计 278
13.4.1 实体E-R图设计 278
13.4.2 数据库逻辑结构设计 280
13.5 系统文件夹组织结构 281
13.6 公共模块设计 281
13.6.1 编写Hibernate配置文件 281
13.6.2 编写Hibernate持久化类和映射文件 282
13.6.3 编写通过Hibernate操作持久化对象的常用方法 283
13.6.4 创建用于特殊效果的部门树对话框 284
13.6.5 创建通过部门树选取员工的面板和对话框 286
13.7 Hibernate关联关系的建立方法 287
13.7.1 建立一对一关联 288
13.7.2 建立一对多关联 289
13.8 主窗体设计 290
13.8.1 实现导航栏 290
13.8.2 实现工具栏 292
13.9 人事管理模块设计 294
13.9.1 实现上传员工照片功能 296
13.9.2 实现组件联动功能 298
13.9.3 通过Java反射验证数据是否为空 300
13.10 待遇管理模块设计 301
13.10.1 实现建立一个新的账套 301
13.10.2 实现为新建的账套添加项目 302
13.10.3 实现修改项目的金额 303
13.10.4 实现统计报表 305
13.11 系统维护模块设计 306
13.11.1 实现修改名称功能 308
13.11.2 实现添加部门的功能 309
13.11.3 实现删除现有部门的功能 311
小结 312