第1部分 使用教程 1
第1章 数据库的基本概念与Oracle环境 1
1.1 数据库基本概念 1
1.1.1 数据库与数据库管理系统 1
1.1.2 数据模型 2
1.1.3 关系型数据库语言 3
1.1.4 数据库设计 4
1.2 数据库应用系统 6
1.2.1 客户/服务器(C/S)模式应用系统 6
1.2.2 三层客户/服务器(B/S)模式应用系统 7
1.3 Oracle数据库环境 8
1.3.1 Oracle数据库简介 8
1.3.2 Oracle llg的安装 8
1.3.3 企业管理器(OEM) 12
1.3.4 SQL*Plus工具 14
1.3.5 SQL Developer工具 19
第2章 数据库创建 22
2.1 Oracle数据库基本概念 22
2.1.1 内部结构 22
2.1.2 外部结构 25
2.1.3 实例 26
2.2 界面方式创建数据库 29
2.2.1 数据库的创建与删除 29
2.2.2 数据库的修改 33
2.3 命令方式创建数据库 37
2.3.1 创建数据库 37
2.3.2 修改数据库 44
2.3.3 删除数据库 46
第3章 表与表数据操作 47
3.1 表结构和数据类型 47
3.1.1 表和表结构 47
3.1.2 数据类型 48
3.1.3 表结构设计 49
3.2 创建和管理表空间 50
3.2.1 界面方式创建表空间 50
3.2.2 命令方式创建表空间 52
3.3 界面方式操作表 56
3.3.1 OEM方式操作表 56
3.3.2 使用SQL Developer操作表 63
3.4 命令方式操作表 66
3.4.1 创建表 66
3.4.2 修改表 69
3.4.3 删除表 71
3.5 界面方式操作表数据 71
3.5.1 插入、删除和修改表数据 71
3.5.2 从Excel表格中导入数据 73
3.6 命令方式操作表数据 74
3.6.1 插入记录 75
3.6.2 删除记录 77
3.6.3 修改记录 78
3.7 同义词 79
3.7.1 创建同义词 80
3.7.2 使用同义词 81
3.7.3 删除同义词 81
第4章 数据库的查询和视图 82
4.1 连接、选择和投影 82
4.1.1 选择 82
4.1.2 投影 82
4.1.3 连接 83
4.2 数据库的查询 84
4.2.1 选择列 84
4.2.2 选择行 88
4.2.3 查询对象 93
4.2.4 连接 93
4.2.5 汇总 97
4.2.6 排序 100
4.2.7 UNION语句 101
4.3 数据库视图 102
4.3.1 视图的概念 102
4.3.2 创建视图 102
4.3.3 查询视图 106
4.3.4 更新视图 107
4.3.5 修改视图的定义 108
4.3.6 删除视图 109
4.4 格式化输出结果 110
4.4.1 替换变量 110
4.4.2 定制SQL*Plus环境 113
第5章 索引与数据完整性 116
5.1 索引 116
5.1.1 索引的分类 116
5.1.2 使用索引的原则 117
5.1.3 创建索引 118
5.1.4 维护索引 123
5.1.5 删除索引 123
5.2 数据完整性 124
5.2.1 数据完整性的分类 124
5.2.2 约束的状态 126
5.2.3 域完整性的实现 127
5.2.4 实体完整性的实现 130
5.2.5 参照完整性的实现 133
第6章 PL/SQL语言介绍 136
6.1 PL/SQL概述 136
6.1.1 PL/SQL语言 136
6.1.2 PL/SQL的特点 138
6.1.3 PL/SQL的开发和运行环境 139
6.2 PL/SQL字符集 139
6.2.1 合法字符 139
6.2.2 运算符 140
6.2.3 其他符号 141
6.3 PL/SQL变量、常量和数据类型 141
6.3.1 变量 141
6.3.2 常量 144
6.3.3 常用数据类型 144
6.3.4 对象类型 145
6.3.5 数据类型转换 147
6.4 PL/SQL基本程序结构和语句 148
6.4.1 PL/SQL程序块 148
6.4.2 条件结构 149
6.4.3 循环结构 152
6.4.4 选择和跳转语句 155
6.4.5 异常 156
6.4.6 空操作和空值 160
6.5 系统内置函数 160
6.6 用户定义函数 164
6.6.1 用户定义函数的创建与调用 164
6.6.2 用户定义函数的删除 167
6.7 游标 167
6.7.1 显式游标 168
6.7.2 隐式游标 171
6.7.3 使用游标变量 173
6.7.4 使用游标表达式 175
6.8 包 175
6.8.1 SQL语句方式创建 176
6.8.2 界面方式创建 179
6.8.3 重载 179
6.8.4 包的初始化 181
6.8.5 Oracle内置包 181
6.9 集合 181
6.9.1 联合数组 182
6.9.2 嵌套表 183
6.9.3 可变数组 184
6.9.4 集合的属性和方法 185
第7章 存储过程和触发器 189
7.1 存储过程 189
7.1.1 存储过程的创建和执行 189
7.1.2 存储过程的编辑修改 193
7.1.3 存储过程的删除 193
7.2 触发器 194
7.2.1 利用SQL语句创建触发器 194
7.2.2 利用界面方式创建触发器 199
7.2.3 启用和禁用触发器 200
7.2.4 触发器的删除 200
7.3 事务 201
7.3.1 事务的概念 201
7.3.2 事务处理 202
7.3.3 自治事务 206
7.4 锁 207
7.4.1 锁机制和死锁 207
7.4.2 锁的类型 208
7.4.3 表锁和事务锁 209
第8章 高级数据类型 210
8.1 Oracle数据库与大对象数据 210
8.1.1 大对象数据类型 210
8.1.2 Oracle数据库中导入大对象数据 211
8.2 Oracle数据库与XML 213
8.2.1 XML概述 213
8.2.2 Oracle XML DB概述 215
8.2.3 Oracle数据库中导入XML数据 216
8.2.4 XQuery的基本用法 218
第9章 系统安全管理 222
9.1 用户 222
9.1.1 创建用户 222
9.1.2 管理用户 230
9.2 权限管理 230
9.2.1 权限概述 231
9.2.2 系统权限管理 231
9.2.3 对象权限管理 236
9.2.4 安全特性 237
9.3 角色管理 239
9.3.1 角色概述 239
9.3.2 创建用户角色 240
9.3.3 管理用户角色 243
9.4 概要文件和数据字典视图 244
9.4.1 创建概要文件 244
9.4.2 管理概要文件 248
9.4.3 数据字典视图 248
9.5 审计 250
9.5.1 审计启用 250
9.5.2 登录审计 251
9.5.3 操作审计 252
9.5.4 对象审计 253
9.5.5 权限审计 254
第10章 备份和恢复 255
10.1 备份和恢复概述 255
10.1.1 备份概述 255
10.1.2 恢复概述 257
10.2 导入/导出 258
10.2.1 导出 259
10.2.2 导入 261
10.3 脱机备份 264
10.4 联机备份 264
10.4.1 以ARCHIVELOG方式运行数据库 265
10.4.2 执行数据库备份 265
10.5 数据库恢复 269
10.6 数据泵 271
10.6.1 概述 272
10.6.2 数据泵的使用 272
第11章 闪回操作和Undo表空间 282
11.1 闪回操作 282
11.1.1 基本概念 282
11.1.2 查询闪回 282
11.1.3 表闪回 283
11.1.4 删除闪回 285
11.1.5 数据库闪回 287
11.1.6 归档闪回 291
11.2 Undo表空间 293
11.2.1 自动Undo管理 293
11.2.2 Undo表空间的优点 293
11.2.3 Undo表空间管理参数 293
11.2.4 创建和管理Undo表空间 294
第12章 其他概念 296
12.1 数据库链接 296
12.1.1 创建数据库链接 296
12.1.2 使用数据库链接 297
12.1.3 删除数据库链接 298
12.2 快照 298
12.2.1 创建快照 298
12.2.2 修改快照 303
12.2.3 删除快照 303
12.3 序列 304
12.3.1 创建序列 304
12.3.2 修改序列 306
12.3.3 删除序列 306
第2部分 实验 307
实验1 创建数据库和表 307
目的与要求 307
实验准备 307
实验内容 307
实验2 表数据插入、修改和删除 310
目的与要求 310
实验准备 310
实验内容 311
实验3 数据库的查询和视图 313
目的与要求 313
实验准备 313
实验内容 313
实验4 索引和完整性 317
目的与要求 317
实验准备 318
实验内容 318
实验5 PL/SQL编程 319
目的与要求 319
实验准备 319
实验内容 319
实验6 存储过程和触发器的使用 320
目的与要求 320
实验准备 320
实验内容 321
实验7 Oracle高级数据类型 323
目的与要求 323
实验准备 324
实验内容 324
实验8 用户、角色和概要文件 326
目的与要求 326
实验准备 326
实验内容 326
第3部分 实习 328
实习0 综合应用数据准备 328
P0.1 数据库与基本表 328
P0.2 视图 329
P0.3 触发器与完整性约束 330
P0.4 存储过程 330
P0.5 综合应用实习功能 331
实习1 VB/Oracle学生成绩管理系统 333
P1.1 VB 6.0连接Oracle数据库 333
P1.1.1 使用ADODC控件连接Oracle 333
P1.1.2 使用ADODB Connection对象连接Oracle 335
P1.1.3 使用ADODB对象执行查询 336
P1.1.4 使用ADODB对象更新数据 336
P1.1.5 使用ADODB对象执行存储过程 337
P1.2 学生成绩管理系统的实现 338
P1.2.1 主窗体设计 338
P1.2.2 学生信息查询 339
P1.2.3 学生信息管理 342
P1.2.4 学生成绩录入 348
实习2 PB/Oracle学生成绩管理系统 353
P2.1 PB11.5与Oracle llg数据库连接 353
P2.2 创建学生成绩管理系统 355
P2.3 设计学生信息查询窗体 357
P2.4 设计学生信息管理窗体 361
P2.5 设计成绩信息管理窗体 365
实习3 ASP/Oracle学生成绩管理系统 368
P3.1 使用ADO操作Oracle数据库 368
P3.1.1 综合应用准备 368
P3.1.2 使用ADO Connection对象连接Oracle 369
P3.1.3 使用ADO Connection和Recordset对象执行查询 369
P3.1.4 使用ADO Recordset对象操作记录 371
P3.1.5 使用ADO Command对象执行存储过程 372
P3.2 学生成绩管理系统的实现 373
P3.2.1 主程序界面设计 373
P3.2.2 学生信息查询 375
P3.2.3 学生信息管理 380
P3.2.4 学生成绩录入 386
实习4 ASRNET(C#)/Oracle学生成绩管理系统 391
P4.1 下载并安装组件 391
P4.2 创建学生成绩管理系统网站 391
P4.3 设计母版页 392
P4.4 设计显示照片面 394
P4.5 设计学生信息管理内容页面 396
P4.6 设计学生信息查询内容页面 406
P4.7 设计成绩信息管理内容页面 409
实习5 JavaEE(Struts 2)/Oracle学生成绩管理系统 415
P5.1 背景知识 415
P5.2 系统总体架构与工作流程 417
P5.3 构建系统准备 418
P5.4 设计系统主界面 420
P5.5 学生信息录入 422
P5.6 学生信息查询、修改和删除 428
P5.7 学生成绩录入 441
P5.8 Oracle与Java EE(Struts 2)企业级应用的集成 448
附录A Oracle数据库的卸载 450
附录B XSCJ数据库样本数据 452