第1章 数据库系统概述 1
1.1 基本概念 1
1.1.1 数据与信息 1
1.1.2 数据库、数据库管理系统和数据库系统 2
1.2 数据库技术的产生和发展 3
1.2.1 人工管理阶段 3
1.2.2 文件系统阶段 4
1.2.3 数据库系统阶段 4
1.3 数据库系统结构 7
1.3.1 数据库系统的三级模式结构 7
1.3.2 数据库系统的体系结构 9
1.4.1 数据库管理系统的主要功能 11
1.4 数据库管理系统 11
1.4.2 数据库管理系统的组成 12
1.4.3 数据库管理系统的工作流程 13
1.5 数据库系统 14
1.5.1 数据库 14
1.5.2 硬件系统 14
1.5.3 软件支持系统 14
1.5.4 数据库管理员 14
第2章 数据模型 17
2.1 实体-联系模型 17
2.1.1 基本概念 18
2.1.2 E-R 图 23
2.1.3 扩充 E-R 数据模型 25
2.2.1 关系数据模型的基本概念 29
2.2 关系模型 29
2.2.2 关系模式 32
2.2.3 约束 33
2.2.4 关系操作和关系数据语言 36
2.3 面向对象的数据模型 37
2.3.1 OO 模型基础 37
2.3.2 OO 模型的核心概念 38
2.3.3 OO 模型与 E-R 模型的概念对应关系 42
第3章 关系运算及关系系统 46
3.1 关系代数 47
3.1.1 传统的集合运算 47
3.1.2 专门的关系运算 48
3.1.3 扩充的关系代数运算 52
3.2 关系演算 55
3.2.1 元组关系演算 55
3.2.2 域关系演算 60
3.2.3 关系运算的安全性 62
3.3 关系代数、元组演算、域演算的等价性 66
3.3.1 关系代数表达式与元组演算表达式的等价性 66
3.3.2 元组演算表达式与域演算表达式的等价性 67
3.3.3 域演算表达式与关系代数表达式的等价性 67
3.4 查询优化 69
3.4.1 一般问题 70
3.4.2 查询优化准则 71
3.4.3 关系代数等价变换规则 72
3.4.4 关系代数表达式优化的算法 73
3.4.5 关系代数表达式优化步骤 74
3.5 关系系统 76
3.5.1 全关系系统的十二条基本准则简介 76
3.5.2 关系系统的定义 77
3.5.3 关系系统的分类 78
第4章 关系数据库标准语言 SQL 81
4.1 SQL 概述 81
4.2 数据定义 81
4.2.1 基本表的创建、删除与修改 82
4.2.2 索引的创建与删除 84
4.3 数据查询 85
4.3.1 单表查询 87
4.3.2 连接查询 89
4.3.3 嵌套查询 90
4.3.4 聚集函数 92
4.3.5 数据分组 92
4.3.6 集合查询 93
4.4 数据操纵 93
4.4.1 数据插入 93
4.4.2 数据删除 94
4.4.3 数据修改 95
4.5 视图 95
4.5.1 建立视图 95
4.5.2 删除视图 96
4.5.4 视图更新 97
4.5.3 查询视图 97
4.5.5 视图的优点 98
4.6 嵌入式 SQL 99
4.6.1 嵌入式 SQL 的使用规定 99
4.6.2 嵌入式 SQL 的使用方法 101
4.6.3 动态 SQL 简介 104
4.7 SQL 提供的安全性与完整性 105
4.7.1 安全性 105
4.7.2 完整性约束 107
4.7.3 触发器 109
第5章 关系数据库理论 114
5.1 关系模式的一般表示及设计中的问题 114
5.2.2 几种特定的函数依赖 116
5.2.1 函数依赖的概念 116
5.2 函数依赖 116
5.2.3 逻辑蕴涵 117
5.3 函数依赖的公理系统 117
5.3.1 Armstrong 公理系统 118
5.3.2 函数依赖集 F 的极小函数依赖集 120
5.4 关系模式规范形式 122
5.4.1 第一范式(1NF) 122
5.4.2 第二范式(2NF) 123
5.4.3 第三范式(3NF) 125
5.4.4 Boyce-Codd 范式(BCNF) 126
5.4.5 多值依赖和第四范式(4NF) 128
5.5 关系模式的规范化 129
5.5.2 具有无损连接性的关系模式分解 130
5.5.1 关系模式分解的概念 130
5.5.3 具有保持函数依赖的关系模式分解 134
5.5.4 通过分解实现关系模式的规范化 135
第6章 数据库存储结构 140
6.1 数据库存储设备 140
6.2 文件组织 143
6.2.1 定长记录 144
6.2.2 变长记录 145
6.3 记录的组织 147
6.3.1 文件中记录的组织方式 147
6.3.2 索引技术 154
6.3.3 B+树索引结构 158
7.1 安全性 164
第7章 数据库保护 164
7.1.1 数据库的安全保密方式 165
7.1.2 安全性控制的一般方法 165
7.2 完整性 168
7.2.1 完整性约束条件 169
7.2.2 完整性约束类型 170
7.2.3 完整性约束机制 170
7.3 事务及并发控制 171
7.3.1 事务 171
7.3.2 并发控制 175
7.4 数据库恢复 180
7.4.1 故障的种类 180
7.4.2 恢复的实现技术 182
7.4.3 恢复策略 184
第8章 数据库系统设计 187
8.1 数据库设计过程 187
8.1.1 数据库设计的基本步骤 187
8.1.2 数据库设计的特点 189
8.1.3 数据库设计的基本任务 189
8.2 需求分析 189
8.2.1 需求分析的任务 190
8.2.2 需求分析的方法 190
8.2.3 数据流图 191
8.2.4 数据字典 192
8.3.1 数据库概念设计的基本方法 193
8.3 概念结构设计 193
8.3.2 概念设计 194
8.4 逻辑结构设计 197
8.4.1 E-R 图向关系模型的转换 197
8.4.2 逻辑模式的规范化、调整和实现 202
8.4.3 外模式的设计 204
8.5 物理结构设计 205
8.5.1 数据库的物理设计的内容和方法 206
8.5.2 关系模式存取方法选择 206
8.5.3 确定数据库的存储结构 212
8.5.4 评价物理结构 213
8.6 设计示例 213
8.6.1 实体-联系模型 213
8.6.2 面向对象的数据模型 218
第9章 新型数据库 223
9.1 分布式数据库 223
9.1.1 分布式数据库概述 223
9.1.2 分布式数据库的定义、分类 224
9.1.3 分布式数据库系统的优点和弱点 226
9.1.4 分布式数据库系统的体系结构 227
9.1.5 分布式数据库管理系统 230
9.1.6 查询处理和优化 232
9.1.7 分布事务管理 233
9.1.8 分布式数据库的安全 235
9.2 面向对象数据库 236
9.2.1 面向对象数据库的发展 236
9.2.2 面向对象设计方法 237
9.2.3 面向对象数据库 238
9.2.4 面向对象数据库语言 241
9.2.5 面向对象数据库的模式演进 242
9.3 数据仓库 243
9.3.1 从数据库到数据仓库 243
9.3.2 数据仓库的定义及其特点 244
9.3.3 数据仓库系统的体系结构 246
9.3.4 分析工具 247
9.3.5 数据仓库、OLAP 和数据挖掘的关系 247
9.4 多媒体数据库 248
9.4.1 概述 248
9.4.2 多媒体数据库系统的主要研究课题 248
9.4.3 多媒体数据库应用系统的开发 249
9.5.1 概述 250
9.5.2 实现对象-关系数据库系统的方法 250
9.5 对象-关系数据库 250
9.6 并行数据库 251
9.6.1 概述 251
9.6.2 并行数据库系统的目标及问题 252
9.6.3 支持并行数据库的并行结构 252
9.6.4 并行数据库系统与分布式数据库系统的区别 253
9.6.5 Oracle 并行查询能力 254
9.7 空间数据库 254
9.7.1 概述 254
9.7.2 空间数据库技术研究的主要内容 255
9.8.1 概述 256
9.8 工作流 256
9.8.2 工作流与工作流管理 257
9.8.3 架构一个工作流程的主要工作 258
9.9 OLAP 259
9.9.1 OLAP 概述 259
9.9.2 OLAP 的定义及相关概念 260
9.9.3 OLAP 与 OLTP 的比较 261
9.9.4 OLAP 的基本多维分析操作、OLAP 的实现 261
9.10 数据库技术展望 263
9.10.1 数据库技术面临的挑战 263
9.10.2 新的研究方向 263
参考文献 266