出版者的话 1
专家指导委员会 1
译者序 1
前言 1
第1章 数据库概论 1
1.1 基本的数据库概念 1
1.2 数据库用户 4
1.3 关系数据库管理系统和对象-关系数据库管理系统概述 5
1.4 小结 15
第2章 关系模型 16
2.1 CAP数据库 16
2.2 数据库各部分的命名 18
2.3 关系规则 21
2.4 键、超键和空值 23
2.5 关系代数 27
2.6 集合运算 28
2.7 自然关系运算 31
2.8 运算依赖 41
2.9 综合例子 42
2.10 其他关系运算 46
推荐读物 49
习题 49
第3章 基本SQL查询语言 53
3.1 引言 55
3.2 创建数据库 56
3.3 简单的Select语句 58
3.4 子查询 65
3.5 UNION运算符和FOR ALL条件 74
3.6 高级SQL语法 80
3.7 SQL中的集合函数 86
3.8 SQL中行的分组 90
3.9 SQL Select语句的完整描述 95
3.10 Insert、Update和Delete语句 105
3.11 Select语句的能力 107
推荐读物 116
习题 116
第4章 对象-关系SQL 123
4.1 引言 123
4.2 对象和表 125
4.2.1 ORACLE中的对象类型 125
4.2.2 INFORMIX中的对象行类型 136
4.2.3 对象和表小结 140
4.3 汇集类型 142
4.3.1 ORACLE中的汇集类型 142
4.3.2 INFORMIX中的汇集类型 153
4.3.3 汇集类型小结 158
4.4 过程SQL、用户定义函数和方法 159
4.4.1 ORACLEPL/SQL过程、用户定义函数和方法 160
4.4.2 INFORMIX中的用户定义函数 171
4.4.3 用户定义函数小结 179
4.5 外部函数和打包的用户定义类型 180
推荐读物 183
习题 184
第5章 访问数据库的程序 186
5.1 C语言中嵌入式SQL的介绍 188
5.2 条件处理 195
5.3 一些通用的嵌入式SQL语句 202
5.4 事务的编程 206
5.5 过程性SQL程序的能力 218
5.6 动态SQL 221
5.7 一些高级的编程概念 229
推荐读物 232
习题 233
第6章 数据库设计 238
6.1 E-R概念介绍 239
6.2 E-R模型的细节 245
6.3 其他E-R概念 250
6.4 案例学习 253
6.5 规范化:基础知识 255
6.6 函数依赖 259
6.7 无损分解 272
6.8 范式 276
6.9 其他设计考虑 288
推荐读物 289
习题 290
第7章 完整性、视图、安全性和目录 296
7.1 完整性约束 296
7.2 建立视图 313
7.3 安全性:SQL中的Grant语句 320
7.4 系统目录和模式 322
习题 329
推荐读物 329
第8章 索引 335
8.1 索引的概念 335
8.2 磁盘存储 338
8.3 B树索引结构 348
8.4 聚簇索引的非聚簇索引 361
8.5 散列主索引 367
8.6 向靶上的空位随机投掷飞镖问题 373
推荐读物 377
习题 378
第9章 查询处理 382
9.1 基本概念 383
9.2 表空间扫描和I/O代价 387
9.3 DB2中的简单索引存取 391
9.4 过滤因子和统计 399
9.5 匹配索引扫描、复合索引 402
9.6 多重索引存取 409
9.7 连接表的方法 416
9.8 磁盘排序 426
9.9 查询性能基准程序:样例研究 430
9.10 查询性能测量 434
9.11 性能价格比评估 445
推荐读物 448
习题 448
第10章 更新事务 456
10.1 事务经历 459
10.2 交错的读写操作 463
10.3 可串行化和前趋图 467
10.4 用来保证可串行性的锁机制 472
10.5 隔离级别 476
10.6 事务恢复 482
10.7 恢复细节:日志格式 484
10.8 检查点 489
10.9 介质恢复 493
10.10 性能:TPC-A基准测试 494
推荐读物 501
习题 502
第11章 并行和分布式数据库 505
11.1 多CPU体系结构 505
11.2 CPU价格与性能曲线 508
11.3 无共享式数据库体系结构 509
11.4 查询并行性 515
推荐读物 517
习题 517
附录A 教学指导 518
附录B 编程细节 529
附录C SQL语法 534
附录D 集合查询计数 557
习题解答 559