译者序
前言
第一部分基本原理
第1章 数据库系统简介
1. l 概述
1. 2 历史回顾
1. 3 文件系统和数据库管理系统
1. 4 数据库管理系统的优点
1. 5 数据库管理系统中数据的描述和存储
1. 5. l 关系模型
1. 5. 2 数据库管理系统的抽象级别
1. 5. 3 数据独立性
1. 6 数据库管理系统中的查询
1. 7 事务管理
1. 7. 1 事务的并发执行
1. 7. 2 未完成的事务和系统崩溃
1. 7. 3 要点
1. 8 数据库管理系统的结构
1. 9 与数据库打交道的人
1. 10 复习要点
练习
项目练习
文献注解
第2章 实体一联系模型
2. 1 数据库设计纵览
2. 1. l 其他步骤
2. 2 实体. 属性和实体集
2. 3 联系和联系集
2. 4 ER模型的其他特征
2. 4. 1 码约束
2. 4. 2 参与约束
2. 4. 3 弱实体
2. 4. 4 类层次
2. 4. 5 聚合
2. 5 用ER模型进行概念数据库设计
2. 5. l 实体与属性
2. 5. 2 实体与联系
2. 5. 3 二元与三元联系
2. 5. 4 聚合与三元联系
2. 6 大型企业的概念数据库设计
2. 7 复习要点
练习
文献注解
第3章 关系模型
3. l 关系模型简介
3. l. l 使用SQL-92创建和修改关系
3. 2 关系上的完整性约束
3. 2. l 码约束
3. 2. 2 外码约束
3. 2. 3 一般约束
3. 3 完整性约束的强制执行
3. 4 查询关系数据
3. 5 逻辑数据库设计:从ER模型到关系模型
3. 5. 1 从实体集合到关系表
3. 5. 2 从联系集(不包括约束)到关系表
3. 5. 3 转换带有码约束的联系集
3. 5. 4 转换带有参与约束的联系集
3. 5. 5 转换弱实体集合
3. 5. 6 转换类层次
3. 5. 7 转换带聚合的ER图
3. 5. 8 ER模型到关系模型:更多的例子
3. 6 视图简介
3. 6. l 视图. 数据独立性和安全
3. 6. 2 视图的更新
3. 7 删除/修改关系表和视图
3. 8 复习要点
练习
项目练习
文献注解
第二部分 关系查询
第4章 关系代数和演算
4. l 预备知识
4. 2 关系代数
4. 2. l 选择和投影
4. 2. 2 集合操作
4. 2. 3 改名
4. 2. 4 连接
4. 2. 5 除
4. 2. 6 关系代数查询的其他实例
4. 3 关系演算
4. 3. l 元组关系演算
4. 3. 2 域关系演算
4. 4 代数与演算的表达能力
4. 5 复习要点
练习
文献注解
第5章 SQL:查询. 编程与触发程序
5. l 用例说明
5. 2 基本SQL查询的形式
5. 2. l 基本SQL查询的实例
5. 2. 2 在SELECT命令中的表达式和字符串
5. 3 UNION. INTERSECT和 EXCEPT
5. 4 嵌套查询
5. 4. l 嵌套查询简介
5. 4. 2 相关嵌套查询
5. 4. 3 集合比较操作
5. 4. 4 有关嵌套查询的其他例子
5. 5 聚合操作符
5. 5. 1 GROUP BY和 HAVING子句
5. 5. 2 聚合查询的其他例子
5. 6 空值
5. 6. l 使用空值的比较
5. 6. 2 逻辑连接运算 AND. OR和 NOT
5. 6. 3 SQL构造符的作用
5. 6. 4 外连接
5. 6. 5 禁止使用空值
5. 7 嵌入式SQL
5. 7. 1 声明变量和异常
5. 7. 2 嵌入SQL语句
5. 8 游标
5. 8. l 基本的游标定义和用法
5. 8. 2 游标的性质
5. 9 动态SQL
5. 10 ODBC和JDBC
5. 10. 1 体系结构
5. 10. 2 使用JDBC的例子
5. 11 SQL-92中的复杂完整性约束
5. 11. 1 单表上的约束
5. 11. 2 域约束
5. 11. 3 断言:几个表上的IC
5. 12 触发程序和主动数据库
5. 12. 1 SQL中触发程序的例子
5. 13 设计主动数据库
5. 13. l 为什么触发程序难以理解
5. 13. 2 约束和触发程序
5. 13. 3 触发程序的其他用途
5. 14 复习要点
练习
项目练习
文献注解
第6章 示例查询--QBE
6. l 简介
6. 2 基本QBE查询
6. 2. l 其他的特点:复制. 排序的答案
6. 3 多个关系上的查询
6. 4 在"关系名"列上的否定
6. 5 聚合
6. 6 条件框
6. 6. 1 And/Or查询
6. 7 无名列
6. 8 更新
6. 8. l 更新命令上的限制
6. 9 除和关系完整性
6. 10 复习要点
练习
项目练习
文献注解
第三部分 数据存储和索引
第7章 存储数据:磁盘和文件
7. 1 存储层次
7. 1. l 磁盘
7. 1. 2 磁盘结构对性能的影响
7. 2 RAID
7. 2. l 数据划分
7. 2. 2 冗余
7. 2. 3 冗余的层次
7. 2. 4 RAID级别的选择
7. 3 磁盘空间管理
7. 3. l 跟踪空闲块
7. 3. 2 使用操作系统中的文件系统来管理磁盘空间
7. 4 缓冲区管理程序
7. 4. l 缓冲区替换策略
7. 4. 2 数据库管理系统和操作系统的缓冲区管理
7. 5 文件和索引
7. 5. 1 堆文件
7. 5. 2 索引简介
7. 6 页格式
7. 6. l 定长记录
7. 6. 2 变长记录
7. 7 记录格式
7. 7. l 定长记录
7. 7. 2 变长记录
7. 8 复习要点
练习
项目练习
文献注解
第8章 文件组织和索引
8. l 代价模型
8. 2 比较三种文件组织方式
8. 2. l 堆文件
8. 2. 2 排序文件
8. 2. 3 哈希文件
8. 2. 4 选择文件的组织方式
8. 3 索引概述
8. 3. l 索引中数据目录项的不同选择
8. 4 索引的性质
8. 4. l 聚集索引和非聚集索引
8. 4. 2 稠密索引和稀疏索引
8. 4. 3 主索引和二级索引
8. 4. 4 使用组合搜索码的索引
8. 5 SQL-92中的索引说明
8. 6 复习要点
练习
项目练习
文献注解
第9章 树结构索引
9. 1 索引顺序存取方法
9. 2 B十树:一种动态索引结构
9. 3 节点的格式
9. 4 搜索
9. 5 插入
9. 6 删除
9. 7 重复
9. 8 实际的B十树
9. 8. l 码压缩
9. 8. 2 B十树中的块载人
9. 8. 3 秩的概念
9. 8. 4 在rid上的插人和删除的影响
9. 9 复习要点
练习
项目练习
文献注解
第10章 基于哈希的索引
10. 1 静态哈希
10. l. l 记号和约定
10. 2 可扩展哈希
10. 3 线性哈希
10. 4 可扩展哈希和线性哈希
10. 5 复习要点
练习
项目练习
文献注解
第四部分 查询求解
第11章 外排序
11. l 简单的两路归并排序算法
11. 2 外归并排序
11. 2. 1 运行次数的最小化
11. 3 最小化I/O代价和I/O的次数
11. 3. 1 块读写
11. 3. 2 双缓冲
11. 4 使用B十树来排序
11. 4. 1 聚集索引
11. 4. 2 非聚集索引
11. 5 复习要点
练习
项目练习
文献注解
第12章 关系操作求解
12. l 查询处理介绍
12. 1. 1 存取路径
12. 1. 2 预备知识:例子和代价计算
12. 2 选择操作
12. 2. 1 没有索引的非排序数据
12. 2. 2 没有索引的排序数据
12. 2. 3 B十树索引
12. 2. 4 哈希排序, 等价选择
12. 3 一般的选择条件
12. 3. 1 CNF和索引匹配
12. 3. 2 求解没有析取的选择
12. 3. 3 带有析取的选择
12. 4 投影操作
12. 4. 1 基于排序的投影
12. 4. 2 基于哈希函数的投影
12. 4. 3 用于投影的排序和哈希
12. 4. 4 用于投影的索引的使用
12. 5 连接操作
12. 5. l 嵌套循环连接算法
12. 5. 2 排序归并连接算法
12. 5. 3 哈希连接
12. 5. 4 一般的连接条件
12. 6 集合操作
12. 6. 1 用于并和差的排序
12. 6. 2 用于并和差的哈希
12. 7 聚合操作
12. 7. l 使用索引实现聚合
12. 8 缓冲的影响
12. 9 复习要点
练习
项目练习
文献注解
第13章 查询优化简介
13. l 关系查询优化概述
13. 1. l 查询求解计划
13. 1. 2 流水线求解
13. 1. 3 操作符和访问方法的迭代接口
13. 1. 4 System R优化器
13. 2 在关系DBMS中的系统目录
13. 2. 1 存储在系统目录中的信息
13. 3 可选计划:研究这一问题动机的实例
13. 3. 1 下推选择
13. 3. 2 使用索引
13. 4 复习要点
练习
第14章 典型的关系查询优化器
14. l 将SQL查询转换成关系代数表达式
14. 2 估算执行计划的开销
14. 2. 1 估计结果的大小
14. 3 关系代数的等价
14. 3. 1 选择
14. 3. 2 投影
14. 3. 3 叉积和连接
14. 3. 4 选择. 投影和连接
14. 3. 5 其他的等价
14. 4 列举可选的执行计划
14. 4. l 单关系查询
14. 4. 2 多关系查询
14. 5 嵌套子查询
14. 6 查询优化的其他方法
14. 7 复习要点
练习
项目练习
文献注解
第五部分 数据库设计
第15章 模式求精和范式
15. l 模式求精简介
15. 1. l 冗余导致的问题
15. 1. 2 模式分解
15. 1. 3 模式分解中的一些问题
15. 2 函数依赖
15. 3 模式求精的动机
15. 3. l 实体集上的约束
15. 3. 2 联系集上的约束
15. 3. 3 实体属性的确定
15. 3. 4 确定实体集
15. 4 函数依赖推理
15. 4. l 函数依赖集的闭包
15. 4. 2 属性闭包
15. 5 范式
15. 5. 1 Boyce-Codd范式
15. 5. 2 第三范式
15. 6 分解
15. 6. l 无损连接分解
15. 6. 2 依赖保持分解
15. 7 规范化
15. 7. l 分解为BCNF
15. 7. 2 分解为3 NF
15. 8 其他类型的依赖
15. 8. l 多值依赖
15. 8. 2 第四范式
15. 8. 3 连接依赖
15. 8. 4 第五范式
15. 8. 5 包含依赖
15. 9 复习要点
练习
项目练习
文献注解
第16章 物理数据库设计和调整
16. l 物理数据库设计简介
16. 1. l 数据库负载
16. 1. 2 物理设计和调整的决策
16. 1. 3 数据库调整的必要性
16. 2 索引选择的指导方针
16. 3 索引选择的基本例子
16. 4 聚集和索引
16. 4. l 两个关系的协同聚集
16. 5 在多属性搜索码上的索引
16. 6 能够实现只读索引计划的索引
16. 7 数据库调整简介
16. 7. l 调整索引
16. 7. 2 调整概念模式
16. 7. 3 调整查询和视图
16. 8 调整概念模式时的选择
16. 8. l 设置一个弱范式
16. 8. 2 分解
16. 8. 3 分解的选择
16. 8. 4 垂直分解
16. 8. 5 水平分解
16. 9 调整查询和视图中的选择
16. 10 并发控制的影响
16. 11 DBMS基准测试
16. 11. 1 著名的DBMS基准测试
16. 11. 2 基准测试的使用
16. 12 复习要点
练习
项目练习
文献注解
第17章 安全
17. l 数据库安全简介
17. 2 存取控制
17. 3 任意存取控制
17. 3. l 授予和回收视图的访问控制和完整性约束
17. 4 强制性存取控制
17. 4. l 多级关系和多实例化
17. 4. 2 转换通道, DoD安全级别
17. 5 有关安全的其他问题
17. 5. l 数据库管理员的任务
17. 5. 2 统计数据库的安全
17. 5. 3 加密
17. 6 复习要点
练习
项目练习
文献注解
第六部分 事务管理
第18章 事务管理简介
18. l 事务概念
18. 1. 1 一致性和隔离性
18. 1. 2 原子性和持久性
18. 2 事务和调度
18. 3 事务的并发执行
18. 3. l 并发执行的动机
18. 3. 2 可串行化
18. 3. 3 交叉执行带来的异常
18. 3. 4 包括中止事务的调度
18. 4 基于加锁的并发控制
18. 4. l 严格的两阶段加锁
18. 5 崩溃恢复简介
18. 5. 1 偷帧和强制写页
18. 5. 2 正常执行时与恢复相关的执行步骤
18. 5. 3 ARIES简介
18. 6 复习要点
练习
文献注解
第19章 并发控制
19. l 回顾基于加锁的并发控制方法
19. 1. 1 2PL. 可串行性和可恢复性
19. 1. 2 观测可串行化
19. 2 加锁管理
19. 2. 1 实现加锁和解锁请求
19. 2. 2 死锁
19. 2. 3 基于加锁的并发控制的性能
19. 3 特殊的加锁技术
19. 3. 1 动态数据库和幻影问题
19. 3. 2 B十树的并发控制
19. 3. 3 多粒度锁
19. 4 SQL-92对事务的支持
19. 4. 1 事务特性
19. 4. 2 事务和约束
19. 5 不加锁的并发控制
19. 5. l 乐观的并发控制
19. 5. 2 基于时间戳的并发控制
19. 5. 3 多版本并发控制
19. 6 复习要点
练习
文献注解
第20章 崩溃恢复
20. 1 ARIES算法简介
20. 1. 1 日志
20. 1. 2 其他和恢复相关的数据结构
20. 1. 3 日志写优先的协议
20. 1. 4 检查点
20. 2 从系统崩溃中恢复
20. 2. 1 分析阶段
20. 2. 2 重做阶段
20. 2. 3 取消阶段
20. 3 介质恢复
20. 4 其他算法以及与并发控制的交互作用
20. 5 复习要点
练习
文献注解
第七部分 新课题
第21章 并行和分布式数据库
21. l 并行数据库系统的可用结构
21. 2 并行查询处理
21. 2. 1 数据划分
21. 2. 2 并行化顺序数据操作处理程序
21. 3 数据操作的并行化
21. 3. 1 批量载人和扫描
21. 3. 2 排序
21. 3. 3 连接
21. 4 并行查询优化
21. 5 分布式数据库简介
21. 5. 1 分布式数据库系统的类型
21. 6 分布式DBMS的体系结构
21. 6. 1 客户/服务器系统
21. 6. 2 协同服务器系统
21. 6. 3 中间件系统
21. 7 分布式DBMS的数据存储
21. 7. l 划分
21. 7. 2 复制
21. 8 分布目录管理
21. 8. 1 命名对象
21. 8. 2 目录结构
21. 8. 3 分布数据的独立性
21. 9 分布式查询处理
21. 9. 1 分布式DBMS中无连接的查询
21. 9. 2 分布式DBMS中的连接操作
21. 9. 3 基于代价的查询优化
21. 10 分布数据的更新
21. 10. 1 同步复制
21. 10. 2 异步复制
21. 11 分布式事务处理简介
21. 12 分布式并发控制
21. 12. l 分布式死锁
21. 13 分布式事务恢复
21. 13. 1 事务正常执行和提交协议
21. 13. 2 发生故障后进行恢复
21. 13. 3 重新讨论两阶段提交
21. 13. 4 三阶段提交
21. 14 复习要点
练习
文献注解
第22章 因特网数据库
22. l 万维网
22. 1. 1 HTML简介
22. 1. 2 数据库和万维网
22. 2 体系结构
22. 2. l 应用服务器和服务器端Java
22. 3 HTML以外的其他技术
22. 3. 1 XML简介
22. 3. 2 XML DTD
22. 3. 3 特定领域的DTD
22. 3. 4 XML-QL:查询 XML数据
22. 3. 5 半结构化数据模型
22. 3. 6 半结构化数据的实现问题
22. 4 用于文本搜索的索引
22. 4. l 倒排文件
22. 4. 2 签名文件
22. 5 万维网上的分级关键字搜索
22. 5. 1 万维网页分级算法
22. 6 复习要点
练习
文献注解
第23章 决策支持
23. l 决策支持简介
23. 2 数据仓库
23. 2. l 创建和管理数据仓库
23. 3 OLAP
23. 3. l 多维数据模型
23. 3. 2 OLAP查询
23. 3. 3 面向OLAP的数据库设计
23. 4 OLAP实现技术
23. 4. l 位图索引
23. 4. 2 连接索引
23. 4. 3 文件组织
23. 4. 4 其他OLAP实现问题
23. 5 视图和决策支持
23. 5. 1 视图. OLAP和数据仓库
23. 5. 2 查询的修改
23. 5. 3 视图实物化和按需要进行计算
23. 5. 4 视图实物化的问题
23. 6 快速得到查询结果
23. 6. 1 前N项查询
23. 6. 2 联机聚集
23. 7 复习要点
练习
文献注解
第24章 数据挖掘
24. l 数据挖掘简介
24. 2 关联计数
24. 2. l 频繁项集
24. 2. 2 冰山式查询
24. 3 规则挖掘
24. 3. 1 关联规则
24. 3. 2 找出关联规则的算法
24. 3. 3 关联规则和ISA层次
24. 3. 4 通用化关联规则
24. 3. 5 顺序模式
24. 3. 6 使用关联规则进行预测
24. 3. 7 贝叶斯网络
24. 3. 8 分类和回归规则
24. 4 树结构规则
24. 4. l 决策树
24. 4. 2 建立决策树的算法
24. 5 聚类
24. 5. l 聚类算法
24. 6 在序列上的相似搜索
24. 6. 1 找出相似序列的算法
24. 7 其他的数据挖掘任务
24. 8 复习要点
练习
文献注解
第25章 对象数据库系统
25. 1 说明研究动因的实例
25. 1. 1 新的数据类型
25. 1. 2 操纵新类型数据
25. 2 用户定义的抽象数据类型
25. 2. 1 ADT方法的定义
25. 3 构造类型
25. 3. 1 构造类型的数据操纵
25. 4 对象. 对象标识符和引用类型
25. 4. 1 相等的概念
25. 4. 2 引用类型的解除
25. 5 继承
25. 5. l 定义带有继承的类型
25. 5. 2 方法联编
25. 5. 3 群体层次. 类型区间和查询
25. 6 ORDBMS的数据库设计
25. 6. l 构造类型和ADT
25. 6. 2 对象标识符
25. 6. 3 扩展 ER模型
25. 6. 4 使用嵌套群体
25. 7 实现ORDBMS的新挑战
25. 7. 1 存储和存取方法
25. 7. 2 查询处理
25. 7. 3 查询优化
25. 8 OODBMS
25. 8. 1 ODMG数据模型和ODL
25. 8. 2 OQL
25. 9 RDBMS与OODBMS和ORDBMS的比较
25. 9. 1 RDBMS和ORDBMS
25. 9. 2 OODBMS和ORDBMS:相似点
25. 9. 3 OODBMS和ORDBMS:不同点
25. 10 复习要点
练习
文献注解
第26章 空间数据管理
26. l 空间数据和查询类型
26. 2 涉及空间数据的应用
26. 3 空间索引简介
26. 3. l 已提出的索引结构概述
26. 4 基于空间填充曲线的索引
26. 4. l 区域四叉树和Z一排序区域数据
26. 4. 2 使用Z一排序的空间查询
26. 5 网格文件
26. 5. l 使用网格文件来处理区域
26. 6 R树:点和区域数据
26. 6. 1 查询
26. 6. 2 插入和删除操作
26. 6. 3 并发控制
26. 6. 4 通用化搜索树
26. 7 高维索引问题
26. 8 复习要点
练习
文献注解
第27章 演绎数据库
27. l 递归查询简介
27. 1. 1 Datalog
27. 2 理论基础
27. 2. l 最小模型语义
27. 2. 2 安全datalog程序
27. 2. 3 不动点操作符
27. 2. 4 最小模型. 最小不动点
27. 3 带有否定的递归查询
27. 3. l 范围限制和否定
27. 3. 2 分层
27. 3. 3 聚合操作
27. 4 递归查询的有效求解
27. 4. l 无重复推理的不动点求解
27. 4. 2 下移选择操作来避免不相关的推理
27. 5 复习要点
练习
文献注解
第28章 其他专题
28. l 高级事务处理
28. 1. l 事务处理监视程序
28. 1. 2 新的事务模型
28. 1. 3 实时DBMS
28. 2 对多个数据源的集成访问
28. 3 移动数据库
28. 4 主存数据库
28. 5 多媒体数据库
28. 6 地理信息系统
28. 7 时态和序列数据库
28. 8 信息可视化
28. 9 总结
文献注解
附录A 数据库设计实例研究:因特网商店
附录B MINIBASE教学辅助软件
参考文献