第1章 绪论 1
1.1 数据库与数据库系统引言 1
1.1.1 数据、信息与知识 2
1.1.2 数据处理与数据管理 2
1.1.3 数据库技术的基本概念 3
1.2 数据管理技术的演变 4
1.2.1 人工管理阶段(20世纪40年代中期—50年代中期) 4
1.2.2 文件系统阶段(20世纪50年代后期—60年代中后期) 4
1.2.3 数据库技术阶段 5
1.3 数据描述与数据模型 6
1.3.1 三级世界的划分 6
1.3.2 逻辑数据与物理数据 7
1.3.3 数据之间的联系 8
1.4 数据模型 9
1.4.1 数据模型的定义和类型 9
1.4.2 概念模型 9
1.4.3 层次模型、网状模型 10
1.4.4 关系模型 12
1.4.5 面向对象模型 13
1.5 数据库系统结构 13
1.5.1 数据库三级模式结构 14
1.5.2 数据库二级映象功能与数据独立性 15
1.5.3 数据库系统组成 15
本章小结 17
习题一 17
第2章 关系模型和关系运算理论 19
2.1 关系模型概述 19
2.1.1 基本术语 20
2.1.2 关系数据结构及形式化定义 21
2.1.3 关系模型的3类完整性规则 22
2.2 关系模式与关系数据库 23
2.3 关系代数 23
2.3.1 关系查询语言和关系运算 23
2.3.2 传统的集合运算 24
2.3.3 专门的关系运算 25
2.4 关系演算 28
2.4.1 元组关系演算 28
2.4.2 域关系演算 29
2.4.3 关系运算的安全约束 29
本章小结 30
习题二 30
第3章 关系数据库标准语言SQL 32
3.1 SQL概述 32
3.1.1 SQL的产生与发展 32
3.1.2 SQL数据库的体系结构 33
3.1.3 SQL的特点 34
3.2 数据定义 36
3.2.1 基本表的定义、删除与修改 36
3.2.2 索引的建立与删除 38
3.3 SQL数据查询 38
3.3.1 SELECT查询语句 38
3.3.2 单表查询 40
3.3.3 连接查询 45
3.3.4 嵌套查询 47
3.3.5 集合查询 52
3.4 数据更新语句 53
3.4.1 插入数据 53
3.4.2 删除数据 54
3.4.3 修改数据 55
3.5 视图 56
3.5.1 视图的定义 56
3.5.2 视图的查询 58
3.5.3 视图的更新 59
3.5.4 视图的作用 60
3.6 数据控制 61
3.7 嵌入式SQL 62
3.7.1 嵌入式SQL的一般形式 62
3.7.2 嵌入式SQL的工作原理 63
3.7.3 动态SQL简介 67
3.8 Transact-SQL简介 68
本章小结 69
习题三 69
第4章 关系系统及查询优化 73
4.1 关系系统的定义及分类 73
4.2 关系系统中的查询优化 75
4.2.1 一个优化实例 75
4.2.2 关系代数表达式中的查询优化 77
4.2.3 查询优化的算法 79
本章小结 80
习题四 80
第5章 关系规范化设计理论 83
5.1 数据库设计的基本问题 83
5.2 规范化理论 85
5.2.1 函数依赖 85
5.2.2 码 86
5.2.3 范式 87
5.2.4 2NF 88
5.2.5 3NF 89
5.2.6 BCNF 90
5.2.7 多值依赖 90
5.2.8 4NF 92
5.3 数据依赖的公理系统 93
5.3.1 Armstrong公理系统 93
5.3.2 函数依赖的闭包F+及属性的闭包XF+ 94
5.3.3 函数依赖集的等价和最小依赖集 95
5.4 关系模式的分解 98
5.4.1 无损连接的模式分解 99
5.4.2 保持函数依赖分解 100
5.4.3 模式分解的算法 100
本章小结 101
习题五 102
第6章 数据库设计 104
6.1 数据库设计概述 104
6.1.1 数据库设计方法简述 105
6.1.2 数据库设计的基本步骤 106
6.2 需求分析 108
6.2.1 需求分析方法 108
6.2.2 数据流图 109
6.2.3 数据字典 110
6.3 概念结构设计 112
6.3.1 概念结构设计方法 113
6.3.2 视图设计 114
6.3.3 视图的集成 116
6.3.4 EE-R模型 119
6.4 逻辑结构设计 121
6.4.1 E-R图向关系模型的转化 121
6.4.2 EE-R图向关系模型的转化 122
6.4.3 数据模型的优化 124
6.4.4 用户模式的设计 125
6.4.5 逻辑结构的生成和图示 125
6.5 物理结构设计 126
6.5.1 索引设计 127
6.5.2 聚簇存取方法的选择 128
6.5.3 确定数据库的存储结构 128
6.5.4 物理结构设计的评价 129
6.6 数据库的实施 129
6.6.1 定义数据库结构 130
6.6.2 数据装载 130
6.6.3 编制与调试应用程序 130
6.6.4 数据库试运行 130
6.7 数据库的运行和维护 131
本章小结 132
习题六 132
第7章 系统实现技术 134
7.1 事务 134
7.1.1 事务的基本概念 134
7.1.2 事务的ACID性质 135
7.2 数据库的并发控制 136
7.2.1 并发控制概述 136
7.2.2 封锁与封锁协议 138
7.2.3 活锁与死锁 140
7.2.4 可串行性调度与两段锁协议 141
7.2.5 封锁的粒度 143
7.2.6 封锁的粒度 144
7.2.7 SQL Server的并发控制技术 145
7.3 数据库的恢复 146
7.3.1 故障类型 146
7.3.2 恢复的实现技术 147
7.3.3 恢复的策略 149
7.3.4 具有检查点的恢复技术 150
7.3.5 数据库镜像 152
7.3.6 SQL Server的恢复技术 152
7.4 数据库的完整性 153
7.4.1 完整性约束条件 153
7.4.2 完整性控制 155
7.4.3 完整性约束与触发器 155
7.4.4 SQL Server的完整性技术 155
7.5 数据库的安全性 156
7.5.1 计算机安全性概论 156
7.5.2 数据库安全性控制 157
7.5.3 统计数据库的安全性 158
7.5.4 SQL Server的安全性技术 158
本章小结 159
习题七 160
第8章 对象数据库系统 161
8.1 面向对象数据模型 161
8.1.1 数据模型的发展 161
8.1.2 面向对象数据模型的基本概念 162
8.1.3 面向对象数据模型 163
8.2 面向对象数据库语言 164
8.2.1 SQL-3语言 164
8.2.2 OQL/ODL语言 167
8.2.3 ORDB和OODB两种面向对象语言的比较 170
本章小结 170
习题八 170
第9章 分布式数据库系统 172
9.1 分布式数据库概述 172
9.1.1 分布式数据库系统的定义 172
9.1.2 分布式数据库系统的特点 173
9.1.3 分布式数据库系统的分类 173
9.2 分布式数据库体系结构 174
9.2.1 分布式数据库系统的模式结构 174
9.2.2 分布式数据库管理系统 175
9.2.3 数据分片 175
9.2.4 分布透明性 175
9.3 查询和优化 176
9.3.1 查询的简化 176
9.3.2 连接查询的优化 176
9.4 分布事务管理 178
9.4.1 分布式事务的恢复 178
9.4.2 并发控制 179
本章小结 179
习题九 179
第10章 数据库新技术 181
10.1 数据库的新应用 181
10.1.1 数据模型及其新特征 181
10.1.2 现代数据库应用领域 183
10.2 数据库新技术的研究和发展 190
10.2.1 数据库技术的发展阶段 190
10.2.2 数据库新技术的研究和发展 191
本章小结 193
习题十 194
实验指导 195
实验一 认识和熟悉DBMS系统(2学时) 195
实验二 交互式SQL语言(4学时) 198
实验三 SQL的查询优化(2学时) 199
实验四 宿主语言操纵数据库(2学时) 199
实验五 编写简单的数据库应用系统(10学时) 204
参考文献 206