第一章 数据库基本概念 1
1.1 数据管理方法的发展和特点 1
1.1.1 人工管理阶段 1
1.1.2 文件系统阶段 2
1.1.3 数据库系统阶段 2
1.2 数据库系统结构 3
1.2.1 三级模式的结构 3
1.2.2 数据库管理系统 5
1.2.3 数据库管理员(DBA) 6
1.3 分布式数据库系统 7
1.3.1 分布式数据库系统结构 8
1.3.2 分布式数据库系统的模式结构 9
1.3.3 全功能分布式数据库系统的规则和目标 10
1.3.4 ORACLE分布式数据库系统 11
第二章 数据模型 13
2.1 实体一联系模型(E-R模型) 13
2.2 层次模型 15
2.3 网状数据模型 17
2.4 关系模型 18
2.5 关系数据库设计理论 20
2.5.1 数据库设计 20
2.5.2 关系数据库设计理论 22
3.1.1 顺序组织 25
3.1 存储记录的设计 25
第三章 数据库的存储结构 25
3.1.2 顺序带链的组织 26
3.1.3 带次码索引的顺序组织 26
3.1.4 多表组织 27
3.1.5 完全倒排组织 28
3.1.6 Hash定址组织 28
3.1.7 B+树索引 28
3.2 联系的存储结构 29
3.2.1 层次结构的存储结构 29
3.2.2 网状结构的存储结构 31
3.3 关系方法(ORACLE)中有关的存储机制 32
3.3.2 聚集 33
3.3.1 索引 33
第四章 数据库的安全性、完整性、并发控制和恢复 34
4.1 数据库的安全性 34
4.1.1 数据库的存取控制 35
4.1.2 特权和角色 37
4.2 数据完整性 40
4.2.1 完整性约束 40
4.2.2 数据库触发器 41
4.3 并发控制 43
4.3.1 数据库不一致的类型 43
4.3.3 ORACLE多种一致性模型 44
4.3.2 封锁 44
4.3.4 封锁机制 45
4.3.5 手工的数据封锁 46
4.4 数据库后备和恢复 47
4.4.1 数据库恢复所使用的结构 47
4.4.2 在线日志 48
4.4.3 归档日志 49
4.4.4 数据库后备 51
4.4.5 数据库恢复 51
5.1.2 ORACLE系统的特点 54
5.1.1 ORACLE产品结构及组成 54
5.1 ORACLE系统 54
第五章 ORACLE系统概述 54
5.2 ORACLE数据库系统的体系结构 57
5.2.1 ORACLE实例的进程结构和内存结构 57
5.2.2 ORACLE配置的方案 65
5.2.3 ORACLE运行 69
5.2.4 数据库结构和空间管理 70
5.3 数据库和实例的启动和关闭 81
5.3.1 数据库启动 81
5.3.2 数据库和实例的关闭 82
5.3.3 初始化参数文件 83
5.4.1 数据字典的结构 92
5.4 数据字典 92
5.4.2 数据字典的使用 93
5.4.3 数据字典视图 93
5.5 事务管理 98
5.5.1 事务 98
5.5.2 ORACLE的事务管理 99
5.6 数据库触发器 100
5.6.1 触发器简介 100
5.6.2 触发器的组成 101
5.7 分布处理和分布式数据库 102
5.7.1 简介 102
5.7.2 分布式数据库全局名和数据库链 103
5.7.3 表快照 105
5.8 语法表示方法 106
第六章 SQL语言 107
6.1 SQL介绍 107
6.1.1 SQL的历史 107
6.1.2 SQL的优点 107
6.1.3 嵌入式的SQL 108
6.2 SQL的元素 109
6.2.1 模式对象 109
6.2.2 对象及其成分的命名 110
6.2.3 直接量 115
6.2.4 数据类型 116
6.2.5 空值 123
6.2.6 伪列 124
6.2.7 注释 126
6.3 算符、函数、表达式和条件 126
6.3.1 算符 127
6.3.2 函数 133
6.3.3 表达式 145
6.3.4 条件 147
6.4 命令介绍 149
6.4.1 SQL命令概述 150
6.4.2 数据定义语言(DDL)命令 153
6.4.3 数据操纵语言命令 256
6.4.4 事务控制命令 280
6.4.5 会话控制命令 285
6.4.6 系统控制命令 292
6.4.7 嵌入式SQL命令 300
第七章PL/SQL 301
7.1 概述 301
7.1.1 主要特色 301
7.1.2 PL/SQL体系结构 302
7.1.3 PL/SQL的优点 305
7.2.4 数据数型 306
7.2.3 注释 306
7.2.1 标识符 306
7.2.2 直接量 306
7.2 PL/SQL的基础 306
7.2.5 数据类型的转换 309
7.2.6 变量和常量 310
7.2.7 用户定义记录 313
7.2.8 PL/SQL表 316
7.2.9 命令惯例和标识符的范围 318
7.2.10 表达式 320
7.3 控制结构 322
7.3.1 条件控制——IF语句 322
7.3.2 迭代控制:LOOP和EXIT语句 324
7.3.3 顺序控制 327
7.4 同ORACLE交互 328
7.4.1 SQL支持 328
7.4.2 民族语言支持 328
7.4.3 过程存取 329
7.4.4 光标管理 330
7.4.5 事务处理 337
7.4.6 数据库触发器 338
7.5 出错处理 339
7.5.1 概述 339
7.5.2 预定义的例外 340
7.5.3 用户定义的例外 341
7.5.4 例外的转播 343
7.5.5 重新引起例外 346
7.5.6 处理例外 346
7.6 子程序 348
7.6.1 过程 349
7.6.2 函数 351
7.6.3 正向说明 354
7.6.4 实在参数与形式参数的对应 355
7.6.5 重载 356
7.6.6 递归 357
7.6.7 存储子程序 359
7.7.1 包的组成 361
7.7 包 361
7.7.2 包的优点 364
7.7.3 包说明和包体 365
7.7.4 对包装子程序的调用 368
7.7.5 包的状态和从属性 369
7.7.6 STANDARD包和产品特有的包 370
7.8 PL/SQL语句和语言元素 370
7.8.1 基本程序单位 370
7.8.2 表达式和条件 374
7.8.3 说明部分 380
7.8.4 可执行语句 385
7.8.5 例外处理部分 397
第八章 SQL*PLUE 399
8.1 SQL*PLUS基础 400
8.1.1 启动SQL*PLUS 400
8.1.2 进入和执行命令 401
8.1.3 退出SQL*PLUS 405
8.1.4 帮助(HELP) 405
8.1.5 SQL*PLUS中几种特殊意义的键 406
8.2 操作命令 406
8.2.1 编辑命令 407
8.2.2 保存命令 410
8.2.3 写交互命令 415
8.3.1 格式化列 423
8.3 格式化查询结果 423
8.3.2 用空行和总计行使报表简洁 428
8.3.3 定义页标题和大小 435
8.3.4 存储和打印查询结果 441
8.4 存取数据库 443
8.4.1 连接到缺省数据库 443
8.4.2 连接到远程数据库 443
8.4.3 将一数据库的数据复制到另一数据库 444
8.4.4 在一数据库中进行表间数据的复制 447
8.5 命令参照 447
参考文献 487