第1章 数据库系统基础知识 1
1.1 数据库概述 1
1.1.1 数据、信息和数据处理 1
1.1.2 数据处理的三个阶段 1
1.1.3 数据库系统的组成 3
1.1.4 数据库体系结构 4
1.1.5 Oracle数据库系统的结构 6
1.1.6 数据库系统的特点 6
1.2.1 数据的描述 7
1.2 现实世界的数据描述 7
1.2.2 实体模型 8
1.2.3 数据模型 10
1.3 数据库管理系统 14
1.3.1 数据库管理系统的功能 14
1.3.2 数据库管理系统的组成 14
1.3.3 Oracle数据库管理系统 16
1.3.4 DBMS和OS的关系 17
1.4 关系数据库的数学基础 18
1.4.1 集合运算 18
1.4.2 特殊的集合运算 20
1.4.3 函数依赖 25
1.4.4 关系完整性约束 27
1.4.5 范式 28
1.4.6 关系模式的规范化 31
习题1 32
第2章 Oracle体系结构 34
2.1 Oracle数据库结构 34
2.1.1 Oracle数据库基本结构 34
2.1.2 表空间(Tablespace) 35
2.1.4 数据块的结构 36
2.1.3 段、区间和数据块 36
2.1.5 表(Table) 38
2.2 Oracle基本结构 39
2.2.1 Oracle系统基本组成 39
2.2.2 内存结构 39
2.2.3 Oracle进程(Processes) 41
2.2.4 物理文件 44
2.2.5 Oracle实例 45
2.3.1 多磁盘系统 46
2.3.2 磁盘映像系统 46
2.3 Oracle系统结构 46
2.3.3 多数据库独立宿主系统 48
2.3.4 客户/服务器系统 48
2.3.5 多线程服务器系统 49
2.3.6 并行数据库系统 50
2.3.7 分布式数据库系统 51
2.3.8 Oracle WebServer系统 52
习题2 53
3.1.1 安装Oracle8服务器 55
3.1 Oracle8 for Windows NT安装与配置 55
第3章 Oracle8操作初步 55
3.1.2 在NT上检查任务 58
3.1.3 服务器端配置 60
3.1.4 安装Oracle8客户 64
3.1.5 Oracle8的卸载与重新安装 66
3.2 Oracle8工具操作初步 67
3.2.1 登录Oracle 67
3.2.2 注册Oracle用户(安全管理器) 69
3.2.3 关闭与启动Oracle数据库(服务器管理器) 71
3.2.4 使用实例管理器启动与关闭数据库 74
3.2.5 查看数据库结构(存储管理器) 77
3.2.6 查阅对象(模式管理器) 80
3.3 SQL概述 80
3.3.1 SQL的特点 81
3.3.2 SQL的组成 82
3.3.3 Oracle操作方式 82
3.4 SQL*PLUS 83
3.4.1 登录到SQL*PLUS 83
3.4.2 SQL*PLUS编辑器 84
3.4.3 编辑实例 85
3.4.4 SQL文件的存储、调用和运行 88
3.4.5 SQL*PLUS报表设计 89
3.4.6 设置SQL*PLUS 93
3.4.7 假脱机输出 95
3.4.8 SQL*PLUS与服务器管理器的比较 95
习题3 95
操作题3 96
第4章 设计与创建数据库 97
4.1 数据库设计概述 97
4.1.1 数据库设计的几个阶段 97
4.1.2 需求分析 98
4.1.3 概念设计 99
4.1.4 逻辑设计 100
4.1.5 物理设计 100
4.1.6 数据库实施 100
4.1.7 系统管理和维护 101
4.2 设计教学管理数据库 102
4.2.1 教学管理数据库系统分析 102
4.2.2 规范化设计 103
4.2.3 教学管理数据库物理设计 106
4.3.1 Oracle数据库逻辑设计 107
4.3 创建Oracle数据库 107
4.3.2 Oracle数据库物理设计 110
4.3.3 使用数据库助手创建数据库 116
4.3.4 修改与删除数据库 123
习题4 123
操作题4 124
第5章 表和表空间操作 125
5.1 表空间管理 125
5.1.1 使用命令方式建立表空间 125
5.1.2 使用存储管理器创建表空间 127
5.1.3 管理表空间 128
5.2 表管理 130
5.2.1 创建表 130
5.2.2 查看表 138
5.2.3 修改表 140
5.2.4 删除表 142
5.2.5 向表中插入记录 142
5.3 借助模式管理器进行表操作 143
5.3.1 向导方式创建课程对照表 143
5.3.2 用手工方式创建表 147
5.3.3 删除和修改表 152
习题5 153
操作题5 154
第6章 SQL数据操纵 155
6.1 SELECT命令的基本用法 155
6.1.1 SELECT命令的格式 155
6.1.2 基本查询 155
6.1.3 带条件查询(WHERE) 157
6.2 SQL常用函数的使用方法 159
6.2.1 数值型函数 159
6.2.3 日期型函数 160
6.2.2 字符型函数 160
6.2.4 转换函数 161
6.2.5 多行函数 164
6.3 高级查询技术 166
6.3.1 SELECT嵌套查询 166
6.3.2 多表联合查询 166
6.3.3 谓词演算查询 167
6.4 树结构查询 169
6.4.1 树型结构与遍历 169
6.4.2 Oracle中树型结构的描述 171
6.4.3 层号的应用 172
6.4.4 分枝查询 173
6.5 处理查询结果 174
6.5.1 结果排序 174
6.5.2 结果的并、交、差运算 175
6.5.3 分组统计(GROUP)与筛选(HAVING) 176
6.6 记录的插入、删除和修改 177
6.6.1 插入(INSERT) 177
6.6.2 修改(UPDATE) 179
6.6.4 删除所有的记录(TRUNCATE) 180
6.6.3 删除(DELETE) 180
习题6 181
第7章 操作Oracle对象 183
7.1 索引(INDEX)操作 183
7.1.1 索引概念 183
7.1.2 建立索引 184
7.1.3 查询索引信息 185
7.1.4 修改与删除索引 187
7.2 聚簇操作 188
7.2.1 索引聚簇 188
7.2.2 散列聚簇 190
7.2.3 修改和删除聚簇 192
7.3 视图操作 193
7.3.1 为何需要视图 193
7.3.2 建立与删除视图 193
7.3.3 查询视图信息 195
7.3.4 视图应用 195
7.4 其他数据库对象操作 197
7.4.1 同义词 197
7.4.2 序列 199
7.4.3 数据库链接 201
7.4.4 快照 202
7.5.1 用模式管理器管理索引 204
7.5 用模式管理器操作对象 204
7.5.2 用模式管理器管理聚簇 206
7.5.3 用模式管理器管理视图 209
7.5.4 用模式管理器管理同义词 212
7.5.5 用模式管理器管理序列 214
7.5.6 用模式管理器建立数据库链接 215
7.5.7 用模式管理器管理快照 217
习题7 220
操作题7 221
8.1.1 事务控制的基本概念 222
第8章 Oracle数据库保护 222
8.1 事务控制 222
8.1.2 事务提交 223
8.1.3 保留点 224
8.1.4 事务回滚 224
8.1.5 设置事务 225
8.2 并发控制 225
8.2.1 什么是Oracle锁 226
8.2.2 封锁机制 226
8.3 会话控制 228
8.2.3 死锁 228
8.3.1 ALTER SESSION命令 229
8.3.2 SET ROLE命令 231
8.3.3 在实例管理器中操作会话 232
8.4 系统控制 234
8.4.1 ALTER SYSTEM命令 234
8.4.2 限制控制 235
8.4.3 系统调整 236
8.5 日志、回滚段和控制文件的管理 238
8.5.1 管理日志组 238
8.5.2 管理回滚段 240
8.5.3 管理初始化文件 243
8.5.4 管理控制文件 247
习题8 249
操作题8 250
第9章 Oracle安全与审计 252
9.1 用户管理 252
9.1.1 建立用户 252
9.1.2 查阅现有用户 253
9.2.1 系统级权限 254
9.2 系统级权限管理 254
9.1.3 修改与删除用户 254
9.2.2 授权 256
9.2.3 回收特权 257
9.2.4 检查存在的系统权限 257
9.3 对象级权限管理 257
9.3.1 对象级权限的类型 258
9.3.2 授予对象级权限 258
9.3.3 检查存在的对象级权限 259
9.4 角色 260
9.3.4 视图与对象级权限 260
9.4.1 角色分类 261
9.4.2 建立、修改和删除角色 262
9.4.3 角色权限的授予和回收 263
9.4.4 从数据字典中查阅角色信息 263
9.4.5 角色的优缺点 265
9.5 配置文件 265
9.5.1 配置文件的分类 265
9.5.2 配置文件中的主要参数 266
9.5.3 建立配置文件 266
9.5.5 将配置文件授予用户并激活 267
9.5.4 修改、删除配置文件 267
9.6 使用安全管理器 268
9.6.1 建立Oracle用户 268
9.6.2 管理用户 272
9.6.3 管理角色 274
9.6.4 建立与修改配置文件 277
9.7 审计 279
9.7.1 SQL语句审计 280
9.7.2 对象审计 283
习题9 284
操作题9 285
第10章 备份与恢复 287
10.1 数据库恢复原理 287
10.1.1 数据库故障类型 287
10.1.2 数据库恢复技术 288
10.1.3 恢复策略 290
10.2 脱机备份与恢复 291
10.2.1 NT备份与恢复工具 291
10.2.2 冷备份与恢复 295
10.3 逻辑备份与恢复 295
10.3.2 逻辑备份 296
10.3.1 逻辑备份与恢复的前提 296
10.3.3 逻辑恢复 301
10.4 热备份与恢复 304
10.4.1 热备份 305
10.4.2 恢复 307
习题10 310
操作题10 310
11.1 PL/SQL概述 311
11.1.1 变量及声明 311
第11章 PL/SQL基础 311
11.1.2 数据类型 312
11.1.3 表达式 314
11.1.4 PL/SQL程序块结构 317
11.1.5 PL/SQL程序运行环境 317
11.2 PL/SQL控制结构 319
11.2.1 顺序结构 319
11.2.2 选择结构 320
11.2.3 NULL结构 321
11.2.4 循环结构 322
11.3.1 使用%TYPE 324
11.3 PL/SQL记录和表 324
11.3.2 记录类型 325
11.3.3 使用%ROWTYPE 327
11.3.4 表 327
11.4 游标 331
11.4.1 游标的基本操作 331
11.4.2 游标的属性操作 334
11.4.3 参数化游标和隐式游标 335
11.4.4 游标变量 337
习题11 339
操作题11 342
第12章 PL/SQL程序设计 343
12.1 过程和函数程序设计 343
12.1.1 过程的创建、查询和调用 343
12.1.2 过程参数设置与传递 345
12.1.3 函数的创建、查询和调用 349
12.1.4 删除过程和函数 351
12.1.5 子程序的位置 351
12.1.6 子程序的依赖性与执行权限 354
12.2.1 包说明 357
12.2.2 包体 357
12.2 包程序设计 357
12.2.3 包应用 358
12.2.4 包的其他操作 361
12.3 触发器程序设计 363
12.3.1 建立触发器 363
12.3.2 触发器的其他操作 367
12.4 异常处理 369
12.4.1 什么是异常 369
12.4.2 声明、触发和处理异常 370
12.4.3 处理异常的特殊方法 372
习题12 376
程序编制题12 377
程序阅读题12 377
第13章 面向对象的程序设计 382
13.1 基础知识 382
13.1.1 面向对象概述 382
13.1.2 对象关系型数据库 383
13.2 对象类型 384
13.2.1 基本对象的定义与实例化 385
13.2.2 创建与调用对象 387
13.2.3 在模式管理器中创建对象 391
13.2.4 修改和删除对象类型 395
13.3 特殊对象、方法以及对象操作 397
13.3.1 行、列对象 397
13.3.2 对象的数据操纵 399
13.3.3 MAP方法和ORDER方法 403
习题13 405
操作题13 406
第14章 Oracle Web程序设计 407
14.1 制作Web页的基本方法 407
14.1.1 HTML概述 407
14.1.2 为Web页增加色调 408
14.1.3 HTML基本标记应用 409
14.1.4 HTML高级标记应用 411
14.2 Oracle Web出版助手 413
14.2.1 Web出版助手操作初步 414
14.2.2 修改、删除、生成和预览Web页 421
14.2.3 使用模板生成Web页 421
14.3 Oracle应用服务器简介 432
14.3.1 应用服务器概述 433
14.3.2 应用服务器的基本操作 434
习题14 439
程序题14 439