第1章 数据库系统概论 1
1.1数据管理技术的发展 1
1.2数据库的基本概念 5
1.2.1数据库 5
1.2.2数据库管理系统 9
1.2.3数据库系统 10
1.3数据库系统体系结构 12
1.3.1数据库系统的三级模式结构 13
1.3.2二级映射与数据独立性 17
1.3.3 DBMS的模块组成 19
1.3.4 DBMS的客户服务器(ClientServer)体系结构 20
1.4小结 22
习题 23
第2章 数据模型 26
2.1现实世界客观对象的抽象过程 26
2.2概念模型 27
2.3数据模型概述 29
2.3.1关系模型 31
2.3.2半结构化数据模型 32
2.3.3面向对象数据模型 35
2.4小结 36
习题 36
第3章 关系数据库理论 38
3.1关系模型概述 38
3.1.1关系的数据结构 38
3.1.2关系的完整性约束 43
3.1.3关系操作 45
3.2关系代数 47
3.2.1传统的集合运算 47
3.2.2专门的关系运算 49
3.2.3用关系代数表达式实现关系查询 53
3.3关系演算 54
3.3.1关系演算中关系的表示 55
3.3.2元组关系演算 55
3.3.3域关系演算 57
3.4小结 59
习题 59
第4章 关系数据库标准查询语言SQL 65
4.1 SQL语言概述 65
4.2 SQL中的数据定义 68
4.2.1基本表的定义 68
4.1.2基本表的修改 72
4.1.3基本表的删除 73
4.3 SQL中的数据查询 73
4.3.1 SQL的单表查询 74
4.3.2 SQL的连接查询 80
4.3.3 SQL的嵌套查询 82
4.3.4 SQL的集合查询 90
4.4 SQL中的数据更新 90
4.4.1 SQL插入数据语句 90
4.4.2 SQL修改数据语句 92
4.4.3 SQL删除数据语句 92
4.4.4更新操作的完整性检查 93
4.4.5触发器 95
4.5 SQL中的视图 100
4.5.1视图的概念 100
4.5.2视图的定义 100
4.5.3视图删除 101
4.5.4视图的查询 102
4.5.5视图的更新 103
4.5.6视图的作用 105
4.6 SQL中的授权控制 107
4.7小结 112
习题 112
第5章 关系模式的规范化设计 117
5.1关系模式的设计问题 117
5.2关系模式的规范化 118
5.2.1函数依赖 118
5.2.2基于函数依赖的范式 120
5.2.3多值依赖与4NF 124
5.2.4关系模式的规范化 126
5.3函数依赖的理论 127
5.3.1函数依赖集的逻辑蕴含 127
5.3.2 Armstrong公理 128
5.3.3属性集闭包 129
5.3.4函数依赖集等价和最小函数依赖集 131
5.3.5候选键及其求解方法 133
5.4模式分解 135
5.4.1模式分解的概念 136
5.4.2无损连接分解和保持函数依赖分解 137
5.4.3模式分解算法 140
5.5小结 143
习题 144
第6章 数据库的存储管理 148
6.1数据库存储管理的数据 148
6.2磁盘上数据的存储 150
6.2.1磁盘的物理特性 150
6.2.2磁盘上数据的缓冲存取 151
6.3文件的组织结构 154
6.3.1定长记录 154
6.3.2变长数据和记录 156
6.3.3列存储 158
6.4文件的存储结构 158
6.4.1堆文件 158
6.4.2顺序文件 159
6.4.3聚集文件 160
6.4.4散列文件(直接文件) 161
6.5索引文件的概念 162
6.5.1索引的概念 163
6.5.2聚集索引和非聚集索引 164
6.5.3稠密索引和稀疏索引 168
6.5.4多级索引 171
6.5.5倒排索引和文档检索 173
6.5.6位图索引 174
6.6索引文件的结构 176
6.6.1 B+树 176
6.6.2散列索引 182
6.7小结 183
习题 184
第7章 关系查询与优化 187
7.1数据库系统的查询处理步骤 187
7.2查询分析与预处理 189
7.3代数优化 191
7.3.1代数优化的必要性 191
7.3.2基于代数等价的启发式优化 194
7.4物理优化 198
7.4.1操作符的实现算法 198
7.4.2基于代价的物理优化方法 204
7.5小结 207
习题 208
第8章 事务管理 211
8.1事务的概念 211
8.1.1概念的引入 211
8.1.2事务的定义 212
8.1.3事务的ACID特性 214
8.1.4事务的管理 215
8.2事务的恢复 216
8.2.1故障及其错误状态 216
8.2.2恢复的实现技术 218
8.2.3恢复的策略 220
8.3并发控制 227
8.3.1并发控制的必要性 227
8.3.2封锁技术 232
8.4小结 241
习题 242
第9章 数据库设计 245
9.1数据库设计概述 245
9.1.1数据库设计的内容 245
9.1.2数据库设计的方法 245
9.1.3数据库设计的步骤 246
9.2需求分析 248
9.2.1需求分析的任务 248
9.2.2需求分析的方法 249
9.2.3数据字典 251
9.3概念设计 253
9.3.1 E-R模型 254
9.3.2概念模型设计方法 255
9.4逻辑结构设计 258
9.4.1 E-R图向关系模型的转换 258
9.4.2数据模型的优化 262
9.4.3用户外模式的设计 262
9.5物理设计 263
9.5.1确定数据库的存储结构 263
9.5.2确定数据库的存取方法 264
9.6数据库的实施与维护 265
9.6.1数据库数据的装入 265
9.6.2数据库的运行和维护 265
9.7小结 266
习题 267
第10章 数据库编程 270
10.1嵌入式SQL 270
10.1.1嵌入式SQL的处理过程 270
10.1.2嵌入式SQL语句与主语言之间的通信 271
10.1.3建立和关闭数据库连接 272
10.1.4游标的使用 273
10.2存储过程 275
10.2.1 PLSQL的块结构 275
10.2.2 PLSQL的存储过程 278
10.3 ODBC编程 279
10.3.1 ODBC工作原理 280
10.3.2 ODBC的工作流程 283
10.4小结 288
习题 288
第11章 数据库技术的新发展 289
11.1数据库技术的发展趋势 289
11.1.1关系数据库的缺陷 289
11.1.2第三代数据库系统 291
11.1.3数据库技术的发展 291
11.2分布式数据库系统 293
11.2.1分布式数据库系统的概念 294
11.2.2分布式数据库系统面临的新问题 295
11.2.3分布式数据库系统的体系结构及功能组成 300
11.3数据仓库与联机分析处理 300
11.3.1数据仓库 300
11.3.2联机分析处理(OLAP) 304
11.4数据挖掘技术 305
11.4.1数据挖掘的概念 306
11.4.2频繁项集挖掘 306
11.4.3发现相似的项 307
11.4.4大规模数据的聚簇 308
11.5小结 310
习题 310
参考文献 311