第1章 案例数据库设计 1
1.1 职业岗位需求分析 2
1.2 课程设置和课程定位分析 4
1.3 教学案例 5
1.3.1 eBuy数据库设计 5
1.3.2 BookData数据库设计 11
第2章 初识Oracle 11g 20
2.1 Oracle概述 21
2.1.1 Oracle的发展变迁 21
2.1.2 Oracle 11g的新特性 22
2.2 安装Oracle 11g 24
2.2.1 Oracle 11g运行环境简介 24
2.2.2 课堂案例1——安装Oracle 11g 25
2.2.3 验证Oracle 11g安装 28
2.3 Oracle 11g的基本组件 29
2.3.1 SQL Plus 29
2.3.2 SQL Developer 31
2.3.3 Database Console 32
2.4 Oracle 11g服务的启动与关闭 33
2.5 Oracle 11g的体系结构 34
2.5.1 Oracle进程结构 35
2.5.2 Oracle内存结构 35
2.6 PL/SQL语言基础 37
2.6.1 PL/SQL简介 37
2.6.2 PL/SQL块 37
2.6.3 PL/SQL标识符 38
第3章 数据库操作 40
3.1 数据库概述 41
3.1.1 Oracle数据库 41
3.1.2 数据库实例 43
3.2 创建数据库实例 43
3.2.1 课堂案例1——使用DBCA创建数据库实例 43
3.2.2 课堂案例2——使用命令方式创建数据库 50
3.3 修改数据库实例 55
3.3.1 课堂案例3——使用DBCA修改数据库实例 55
3.3.2 使用PL/SQL修改数据库 56
3.4 删除数据库实例 58
3.4.1 课堂案例4——使用DBCA删除数据库实例 58
3.4.2 使用PL/SQL删除数据库 59
3.5 管理表空间 59
3.5.1 课堂案例5——使用OEM管理表空间 60
3.5.2 课堂案例6——使用PL/SQL管理表空间 63
第4章 数据表操作 68
4.1 数据表基础 69
4.1.1 Oracle基本数据类型 69
4.1.2 方案的概念 70
4.2 使用OEM管理表 70
4.2.1 课堂案例1——使用OEM创建GOODS表 70
4.2.2 课堂案例2——使用OEM修改GOODS表 71
4.2.3 使用OEM查看和删除表 73
4.3 使用SQL Developer管理表 74
4.3.1 课堂案例3——使用SQL Developer创建Users表 74
4.3.2 使用SQL Developer修改表 75
4.3.3 使用SQL Developer查看和删除表 75
4.4 课堂案例4——使用PL/SQL管理表 76
4.4.1 使用PL/SQL创建Customers表 76
4.4.2 使用PL/SQL修改表 77
4.4.3 使用PL/SQL查看和删除表 79
4.5 数据记录操作 80
4.5.1 课堂案例5——使用SQL Developer操作数据记录 80
4.5.2 课堂案例6——使用PL/SQL操作数据记录 81
4.6 课堂案例7——实施数据完整性与约束 84
4.6.1 数据完整性概述 84
4.6.2 非空(NOT NULL)约束 85
4.6.3 默认(Default)约束 86
4.6.4 唯一(Unique)约束 87
4.6.5 检查(Check)约束 88
4.6.6 主键(Primary Key)约束 90
4.6.7 外键(Foreign Key)约束 92
4.7 课堂案例8——管理序列和同义词 94
4.7.1 使用OEM管理序列 94
4.7.2 使用PL/SQL管理序列 95
4.7.3 使用OEM管理同义词 97
4.7.4 使用PL/SQL管理同义词 99
第5章 查询操作 102
5.1 查询的基本语法 103
5.2 简单查询 103
5.2.1 课堂案例1——选择列 103
5.2.2 课堂案例2——选择行 107
5.2.3 课堂案例3——查询结果排序 113
5.2.4 课堂案例4——查询结果分组 115
5.3 课堂案例5——连接查询 119
5.3.1 内连接查询 119
5.3.2 外连接查询 122
5.3.3 交叉连接查询 123
5.4 课堂案例6——子查询 124
5.4.1 使用IN的子查询 124
5.4.2 使用比较运算符的子查询 126
5.4.3 使用ANY或ALL的子查询 126
5.4.4 使用EXISTS的子查询 127
5.4.5 数据记录操作中的子查询 127
5.5 课堂案例7——联合查询 129
第6章 视图和索引操作 132
6.1 视图概述 133
6.2 视图操作 133
6.2.1 课堂案例1——使用OEM管理视图 133
6.2.2 课堂案例2——使用PL/SQL管理视图 138
6.3 课堂案例3——使用视图 143
6.3.1 视图查询操作 143
6.3.2 视图DML操作 145
6.4 索引概述 146
6.4.1 索引概念 146
6.4.2 索引分类 147
6.5 索引操作 149
6.5.1 课堂案例4——使用OEM管理索引 149
6.5.2 课堂案例5——使用PL/SQL管理索引 151
6.6 聚集操作 153
6.6.1 创建聚集 154
6.6.2 修改聚集 156
6.6.3 删除聚集 156
第7章 存储过程操作 160
7.1 课堂案例1——使用PL/SQL编程 161
7.1.1 变量和常量 161
7.1.2 流程控制语句 162
7.1.3 PL/SQL常用系统函数 167
7.1.4 %TYPE和%ROWTYPE类型变量 171
7.1.5 异常处理 173
7.2 存储过程概述 176
7.3 课堂案例2——使用OEM管理存储过程 176
7.3.1 OEM创建存储过程 177
7.3.2 OEM查看存储过程 178
7.3.3 OEM修改存储过程 178
7.3.4 OEM删除存储过程 179
7.4 课堂案例3——使用PL/SQL管理存储过程 179
7.4.1 PL/SQL创建和执行存储过程 179
7.4.2 PL/SQL查看存储过程 182
7.4.3 PL/SQL修改存储过程 183
7.4.4 PL/SQL删除存储过程 183
7.5 课堂案例4——管理函数 183
7.5.1 创建函数 183
7.5.2 调用函数 185
7.5.3 删除函数 186
7.6 课堂案例5——应用包 186
7.6.1 定义包 187
7.6.2 使用包 189
7.6.3 Oracle 11g的内置包 190
第8章 游标、事务和锁 193
8.1 游标 194
8.1.1 游标的概念 194
8.1.2 课堂案例1——游标操作 194
8.1.3 游标的属性 197
8.1.4 游标中的循环 198
8.1.5 游标的更新 199
8.2 事务 200
8.2.1 事务的属性 200
8.2.2 课堂案例2——事务处理 200
8.3 锁 203
8.3.1 锁的概述 203
8.3.2 锁的类型 203
第9章 触发器操作 206
9.1 触发器概述 207
9.1.1 触发器简介 207
9.1.2 触发器的类型 207
9.1.3 :OLD和:NEW变量 208
9.2 DML触发器 209
9.2.1 课堂案例1——使用SQL Developer管理触发器 209
9.2.2 课堂案例2——使用PL/SQL管理触发器 212
9.3 课堂案例3——使用其他类型触发器 215
9.3.1 替代触发器 215
9.3.2 系统事件触发器 216
9.3.3 用户事件触发器 217
9.4 课堂案例4——eBuy中的典型触发器 217
9.4.1 插入型触发器 217
9.4.2 删除型触发器 218
9.4.3 更新型触发器 219
9.4.4 混合型触发器 219
第10章 数据库安全操作 222
10.1 数据库安全管理概述 223
10.2 安全策略 223
10.2.1 系统安全策略 224
10.2.2 数据安全策略 224
10.2.3 用户安全策略 224
10.2.4 口令管理安全策略 225
10.2.5 审计策略 225
10.3 课堂案例1——用户管理 225
10.3.1 创建用户 226
10.3.2 修改用户 228
10.3.3 删除用户 229
10.3.4 监控用户 230
10.4 课堂案例2——角色管理 230
10.4.1 创建角色 231
10.4.2 修改角色 233
10.4.3 删除角色 234
10.4.4 启用和禁用角色 234
10.4.5 Oracle系统预定义角色 235
10.5 课堂案例3——权限管理 236
10.5.1 授予权限 236
10.5.2 收回权限 240
10.6 课堂案例4——管理概要文件 241
10.6.1 创建概要文件 241
10.6.2 管理概要文件 244
10.7 课堂案例5——数据库审计 244
10.7.1 审计策略 245
10.7.2 审计类型 245
10.7.3 审计踪迹 246
第11章 数据库管理操作 253
11.1 备份数据库 254
11.1.1 数据库故障概述 254
11.1.2 备份的类型 255
11.1.3 课堂案例1——使用OEM执行数据库备份 256
11.1.4 课堂案例2——使用命令执行数据库备份 263
11.2 恢复数据库 267
11.2.1 恢复的类型 267
11.2.2 使用OEM执行数据库恢复 267
11.2.3 使用命令执行数据库恢复 270
11.3 数据导入/导出 272
11.3.1 导入/导出概述 272
11.3.2 课堂案例3——使用OEM实现导出/导入 274
11.3.3 课堂案例4——使用EXP/IMP实现导出/导入 280
第12章 数据库应用程序开发 286
12.1 数据库应用程序结构 287
12.1.1 客户机/服务器结构 287
12.1.2 浏览器/服务器结构 288
12.1.3 三层/N层结构 289
12.2 课堂案例1——Java平台Oracle数据库程序开发 290
12.2.1 JDBC概述 290
12.2.2 JDBC连接Oracle数据库 291
12.2.3 ODBC-JDBC桥访问Oracle数据库 294
12.2.4 JDBC驱动直接访问Oracle数据库 295
12.2.5 Java程序调用Oracle存储过程 296
12.3 课堂案例2——NET平台Oracle数据库程序开发 298
12.3.1 ADO.NET简介 298
12.3.2 ADO.NET对象 300
12.3.3 DataGridView控件绑定Oracle数据库数据源 302
12.3.4 ODBC方式访问Oracle数据库 304
12.3.5 OLE DB方式访问Oracle数据库 305
12.3.6 OracleClient方式访问Oracle数据库 307
12.3.7 C#.NET程序调用Oracle存储过程 308
附录 综合实训 312
参考文献 320