目 录
第1篇 基础知识
第1章 Oracle 11g概述 2
视频讲解:87分钟
1.1 简述Oracle的发展史 3
1.2 关系型数据库的基本理论 5
1.2.1 关系型数据库与数据库管理系统 5
1.2.2 关系型数据库的E-R模型 6
1.2.3 关系型数据库的设计范式 8
1.3 Oracle 11g的新功能 10
1.4 Oracle 11g的安装与卸载 11
1.4.1 Oracle 11g的安装 11
1.4.2 Oracle 11g的卸载 18
1.5 Oracle 11g的管理工具 22
1.5.1 SQL*Plus工具 22
1.5.2 Oracle企业管理器 23
1.5.3 数据库配置助手 24
1.6 启动与关闭数据库实例 25
1.6.1 启动数据库实例 25
1.6.2 关闭数据库实例 27
1.7 小结 29
1.8 实践与练习 29
第2章 Oracle 11g体系结构 30
视频讲解:90分钟
2.1 Oracle 11g体系结构概述 31
2.2 逻辑存储结构 32
2.2.1 数据块 32
2.2.2 数据区 33
2.2.3 段 34
2.2.4 表空间 34
2.3 物理存储结构 36
2.3.1 数据文件 36
2.3.2 控制文件 38
2.3.3 日志文件 39
2.3.4 服务器参数文件 41
2.3.5 密码文件、警告文件和跟踪文件 43
2.4 Oracle 11g服务器结构 45
2.4.1 系统全局区 45
2.4.2 程序全局区 48
2.4.3 前台进程 49
2.4.4 后台进程 49
2.5 数据字典 53
2.5.1 Oracle数据字典简介 53
2.5.2 Oracle常用数据字典 54
2.6 小结 55
2.7 实践与练习 56
第3章 SQL*Plus命令 57
视频讲解:88分钟
3.1 SQL*Plus与数据库的交互 58
3.2 设置SQL*Plus的运行环境 58
3.2.1 简介SET命令 59
3.2.2 使用SET命令设置运行环境 61
3.3 常用SQL*Plus命令 66
3.3.1 HELP命令 66
3.3.2 DESCRIBE命令 67
3.3.3 SPOOL命令 68
3.3.4 其他常用命令 69
3.4 格式化查询结果 72
3.4.1 COLUMN命令 72
3.4.2 TTITLE和BTITLE命令 75
3.5 小结 77
3.6 实践与练习 77
第4章 SQL语言基础 78
视频讲解:124分钟
4.1 SQL语言简介 79
4.1.1 SQL语言的特点 79
4.1.2 SQL语言的分类 80
4.1.3 SQL语言的编写规则 81
4.2 用户模式 82
4.2.1 模式与模式对象 82
4.2.2 示例模式scott 83
4.3 检索数据 84
4.3.1 简单查询 85
4.3.2 筛选查询 92
4.3.3 分组查询 100
4.3.4 排序查询 111
4.3.5 多表关联查询 114
4.4 Oracle常用系统函数 122
4.4.1 字符类函数 122
4.4.2 数字类函数 125
4.4.3 日期和时间类函数 127
4.4.4 转换类函数 128
4.4.5 聚集函数 129
4.5 子查询的用法 129
4.5.1 什么是子查询 129
4.5.2 单行子查询 131
4.5.3 多行子查询 131
4.5.4 关联子查询 132
4.6 操作数据库 133
4.6.1 插入数据(INSERT语句) 133
4.6.2 更新数据(UPDATE语句) 138
4.6.3 删除数据(DELETE语句和TRUNCATE语句) 140
4.7 小结 142
4.8 实践与练习 142
第5章 PL/SQL编程 143
视频讲解:68分钟
5.1 PL/SQL简介 144
5.1.1 PL/SQL块结构 144
5.1.2 代码注释和标识符 145
5.1.3 文本 148
5.2 数据类型、变量和常量 149
5.2.1 基本数据类型 149
5.2.2 特殊数据类型 151
5.2.3 定义变量和常量 154
5.2.4 PL/SQL表达式 155
5.3 流程控制语句 156
5.3.1 选择语句 157
5.3.2 循环语句 162
5.4 PL/SQL游标 166
5.4.1 基本原理 166
5.4.2 显式游标 166
5.4.3 隐式游标 170
5.4.4 游标的属性 171
5.4.5 游标变量 174
5.4.6 通过FOR语句循环游标 176
5.5 PL/SQL异常处理 178
5.5.1 异常处理方法 178
5.5.2 异常处理语法 179
5.5.3 预定义异常 180
5.5.4 自定义异常 182
5.6 小结 184
5.7 实践与练习 185
第6章 过程、函数、触发器和包 186
视频讲解:97分钟
6.1 存储过程 187
6.1.1 创建存储过程 187
6.1.2 存储过程的参数 189
6.1.3 IN参数的默认值 195
6.1.4 删除存储过程 197
6.2 函数 197
6.2.1 创建函数 197
6.2.2 调用函数 198
6.2.3 删除函数 199
6.3 触发器 199
6.3.1 触发器简介 200
6.3.2 语句级触发器 201
6.3.3 行级触发器 203
6.3.4 替换触发器 206
6.3.5 用户事件触发器 208
6.3.6 删除触发器 210
6.4 程序包 211
6.4.1 程序包的规范 211
6.4.2 程序包的主体 212
6.4.3 删除包 215
6.5 小结 215
6.6 实践与练习 215
第2篇 核心技术
第7章 管理控制文件和日志文件 218
视频讲解:76分钟
7.1 管理控制文件 219
7.1.1 控制文件简介 219
7.1.2 控制文件的多路复用 220
7.1.3 创建控制文件 222
7.1.4 备份和恢复控制文件 225
7.1.5 删除控制文件 228
7.1.6 查询控制文件的信息 228
7.2 管理重做日志文件 229
7.2.1 重做日志文件概述 229
7.2.2 增加日志组及其成员 231
7.2.3 删除重做日志文件 232
7.2.4 更改重做日志文件的位置或名称 234
7.2.5 查看重做日志信息 235
7.3 管理归档日志文件 236
7.3.1 日志模式分类 236
7.3.2 管理归档操作 237
7.3.3 设置归档文件位置 239
7.3.4 查看归档日志信息 241
7.4 小结 242
7.5 实践与练习 243
第8章 管理表空间和数据文件 244
视频讲解:57分钟
8.1 表空间与数据文件的关系 245
8.2 Oracle 11g的默认表空间 246
8.2.1 SYSTEM表空间 246
8.2.2 SYSAUX表空间 247
8.3 创建表空间 248
8.3.1 创建表空间的语法 248
8.3.2 通过本地化管理方式创建表空间 249
8.3.3 通过段空间管理方式创建表空间 250
8.3.4 创建非标准块表空间 251
8.3.5 建立大文件表空间 252
8.4 维护表空间与数据文件 253
8.4.1 设置默认表空间 253
8.4.2 更改表空间的状态 254
8.4.3 重命名表空间 254
8.4.4 删除表空间 255
8.4.5 维护表空间中的数据文件 255
8.5 管理撤销表空间 257
8.5.1 撤销表空间的作用 257
8.5.2 撤销表空间的初始化参数 258
8.5.3 撤销表空间的基本操作 259
8.6 管理临时表空间 263
8.6.1 临时表空间简介 263
8.6.2 创建临时表空间 263
8.6.3 查询临时表空间的信息 264
8.6.4 关于临时表空间组 264
8.7 小结 267
8.8 实践与练习 267
第9章 数据表对象 268
视频讲解:70分钟
9.1 数据表概述 269
9.2 创建数据表 269
9.2.1 数据表的逻辑结构 269
9.2.2 创建一个数据表 271
9.2.3 数据表的特性 272
9.3 维护数据表 277
9.3.1 增加和删除字段 277
9.3.2 修改字段 279
9.3.3 重命名表 280
9.3.4 改变表空间和存储参数 280
9.3.5 删除表 281
9.3.6 修改表的状态 283
9.4 数据完整性和约束性 284
9.4.1 非空约束 285
9.4.2 主键约束 286
9.4.3 唯一性约束 288
9.4.4 外键约束 289
9.4.5 禁用和激活约束 292
9.4.6 删除约束 294
9.5 小结 295
9.6 实践与练习 295
第10章 其他数据对象 296
视频讲解:55分钟
10.1 索引对象 297
10.1.1 索引概述 297
10.1.2 创建索引 298
10.1.3 修改索引 302
10.1.4 删除索引 304
10.1.5 显示索引信息 304
10.2 视图对象 306
10.2.1 创建视图 307
10.2.2 管理视图 310
10.3 同义词对象 312
10.4 序列对象 314
10.4.1 创建序列 314
10.4.2 管理序列 316
10.5 小结 317
10.6 实践与练习 317
第11章 表分区与索引分区 318
视频讲解:46分钟
11.1 分区技术简介 319
11.2 创建表分区 319
11.2.1 范围分区 319
11.2.2 散列分区 321
11.2.3 列表分区 323
11.2.4 组合分区 324
11.2.5 Interval分区 325
11.3 表分区策略 326
11.4 管理表分区 326
11.4.1 添加表分区 326
11.4.2 合并分区 327
11.4.3 删除分区 328
11.4.4 并入分区 329
11.5 创建索引分区 331
11.5.1 索引分区概述 331
11.5.2 本地索引分区 331
11.5.3 全局索引分区 333
11.6 管理索引分区 333
11.6.1 索引分区管理的操作列表 334
11.6.2 索引分区管理的实际操作 334
11.7 小结 335
11.8 实践与练习 335
第12章 用户管理与权限分配 336
视频讲解:48分钟
12.1 用户与模式的关系 337
12.2 创建与管理用户 338
12.2.1 身份验证 338
12.2.2 创建用户 338
12.2.3 修改用户 340
12.2.4 删除用户 341
12.3 用户权限管理 342
12.3.1 权限简介 342
12.3.2 授权操作 342
12.3.3 回收系统权限 344
12.3.4 对象授权 345
12.3.5 回收对象权限 345
12.3.6 查询用户与权限 346
12.4 角色管理 346
12.4.1 角色简介 346
12.4.2 预定义角色 347
12.4.3 创建角色与授权 349
12.4.4 管理角色 350
12.4.5 角色与权限的查询 351
12.5 资源配置PROFILE 352
12.5.1 PROFILE简介 352
12.5.2 使用PROFILE管理密码 353
12.5.3 使用PROFILE管理资源 355
12.5.4 维护PROFILE文件 356
12.5.5 显示PROFILE信息 357
12.6 小结 358
12.7 实践与练习 358
第3篇 高级应用
第13章 数据库控制 360
视频讲解:19分钟
13.1 用事务控制操作 361
13.1.1 事务的概述 361
13.1.2 操作事务 362
13.2 用锁控制并发存取 369
13.2.1 并发控制 370
13.2.2 为何加锁 371
13.2.3 加锁的方法 374
13.3 死锁 376
13.3.1 死锁的产生 376
13.3.2 死锁的预防 378
13.4 小结 378
13.5 实践与练习 378
第14章 Oracle系统调优 379
视频讲解:28分钟
14.1 调整初始化参数 380
14.1.1 Oracle初始化参数分类 380
14.1.2 主要系统调优参数介绍 380
14.2 系统全局区(SGA)优化 382
14.2.1 理解内存分配 382
14.2.2 调整日志缓冲区 383
14.2.3 调整共享池 384
14.2.4 调整数据库缓冲区 387
14.2.5 SGA调优建议 387
14.3 排序区优化 388
14.3.1 排序区与其他内存区的关系 388
14.3.2 理解排序活动 388
14.3.3 专用模式下排序区的调整 389
14.3.4 共享模式下排序区的调整 391
14.4 小结 392
14.5 实践与练习 392
第15章 优化SQL语句 393
视频讲解:26分钟
15.1 常规SQL语句优化 394
15.1.1 建议不用“*”来代替所有列名 394
15.1.2 用TRUNCATE代替DELETE 394
15.1.3 在确保完整性的情况下多用COMMIT语句 395
15.1.4 尽量减少表的查询次数 395
15.1.5 用[NOT] EXISTS代替[NOT] IN 395
15.2 表连接优化 396
15.2.1 驱动表的选择 396
15.2.2 WHERE子句的连接顺序 396
15.3 合理使用索引 397
15.3.1 何时使用索引 397
15.3.2 索引列和表达式的选择 397
15.3.3 选择复合索引主列 397
15.3.4 避免全表扫描大表 398
15.3.5 监视索引是否被使用 398
15.4 优化器的使用 399
15.4.1 优化器的概念 399
15.4.2 运行EXPLAIN PLAN 400
15.4.3 Oracle 11g中SQL执行计划的管理 400
15.5 数据库和SQL重演 401
15.5.1 数据库重演 401
15.5.2 SQL重演 401
15.6 Oracle的性能顾问 402
15.6.1 SQL调优顾问 402
15.6.2 SQL访问顾问 403
15.7 小结 403
15.8 实践与练习 403
第16章 Oracle数据备份与恢复 404
视频讲解:44分钟
16.1 备份与恢复概述 405
16.2 RMAN工具简介 406
16.2.1 RMAN的优点 406
16.2.2 RMAN组件 407
16.2.3 RMAN通道 410
16.2.4 RMAN命令 412
16.3 使用RMAN工具备份 414
16.3.1 RMAN备份策略 415
16.3.2 使用RMAN备份数据库文件和归档日志 415
16.3.3 增量备份 418
16.4 使用RMAN工具完全恢复 419
16.4.1 恢复处于NOARCHIVELOG模式的数据库 419
16.4.2 恢复处于ARCHIVELOG模式的数据库 421
16.5 使用RMAN工具部分恢复 422
16.5.1 基于时间的不完全恢复 422
16.5.2 基于更改的不完全恢复 424
16.6 小结 425
16.7 实践与练习 425
第17章 数据导出和导入 426
视频讲解:40分钟
17.1 EXPDP和IMPDP概述 427
17.2 EXPDP导出数据 427
17.2.1 执行EXPDP命令 427
17.2.2 EXPDP命令参数 430
17.3 IMPDP导入数据 432
17.3.1 执行IMPDP命令 433
17.3.2 IMPDP命令参数 434
17.4 SQL* Loader工具 435
17.4.1 SQL* Loader概述 435
17.4.2 加载数据 436
17.5 小结 439
17.6 实践与练习 439
第18章 Oracle 11g的闪回技术 440
视频讲解:29分钟
18.1 闪回技术简介 441
18.2 闪回数据库 441
18.2.1 闪回恢复区 442
18.2.2 闪回数据库配置 446
18.2.3 闪回数据库技术应用 447
18.3 闪回表 449
18.3.1 闪回表命令的语法 449
18.3.2 闪回表的应用 450
18.4 闪回丢弃 451
18.4.1 回收站简介 451
18.4.2 回收站的应用 452
18.5 其他闪回技术 453
18.5.1 闪回版本查询 453
18.5.2 闪回事务查询 453
18.5.3 闪回数据归档 454
18.6 小结 454
18.7 实践与练习 455
第4篇 项目实战
第19章 企业人事管理系统 458
视频讲解:171分钟
19.1 开发背景 459
19.2 系统分析 459
19.3 系统设计 459
19.3.1 系统目标 459
19.3.2 系统功能结构 460
19.3.3 系统预览 461
19.3.4 业务流程图 464
19.3.5 文件夹结构设计 464
19.4 数据库设计 465
19.4.1 数据库分析 465
19.4.2 数据库概念设计 465
19.4.3 数据库逻辑结构设计 466
19.5 主窗体设计 468
19.5.1 导航栏的设计 468
19.5.2 工具栏的设计 470
19.6 公共模块设计 472
19.6.1 编写Hibernate配置文件 472
19.6.2 编写Hibernate持久化类和映射文件 473
19.6.3 编写通过Hibernate操作持久化对象的常用方法 474
19.6.4 创建用于特殊效果的部门树对话框 475
19.6.5 创建通过部门树选取员工的面板和对话框 476
19.7 人事管理模块设计 478
19.7.1 人事管理模块功能概述 478
19.7.2 人事管理模块技术分析 479
19.7.3 人事管理模块实现过程 480
19.8 待遇管理模块设计 484
19.8.1 待遇管理模块功能概述 485
19.8.2 待遇管理模块技术分析 486
19.8.3 待遇管理模块实现过程 486
19.9 系统维护模块设计 490
19.9.1 系统维护模块功能概述 490
19.9.2 系统维护模块技术分析 492
19.9.3 系统维护模块实现过程 492
19.10 Hibernate关联关系的建立方法 496
19.10.1 建立一对一关联 496
19.10.2 建立一对多关联 497
19.11 小结 499