第1章 绪论 1
1.1 数据库技术概述 1
1.1.1 数据库技术常用术语 1
1.1.2 数据管理技术的发展 2
1.2 数据模型概述 5
1.3 数据库系统的内部体系结构 7
1.3.1 数据库的三级模式结构 7
1.3.2 数据库的两级独立性 9
1.4 数据库领域的三个图灵奖 9
1.5 数据库技术的演变与发展 10
1.6 小结 12
习题1 12
第2章 关系数据库 13
2.1 关系数据模型 13
2.1.1 关系数据结构 13
2.1.2 关系操作 17
2.1.3 关系的完整性 18
2.2 关系代数 20
2.2.1 传统的集合运算 21
2.2.2 专门的关系运算 22
2.3 关系演算 27
2.3.1 元组关系演算 27
2.3.2 域关系演算 28
2.4 关系代数查询优化 29
2.4.1 关系代数等价变换规则 29
2.4.2 启发式优化规则 31
2.4.3 关系表达式的优化 31
2.5 小结 32
习题2 32
第3章 关系数据库标准语言—SQL 35
3.1 SQL概述 35
3.1.1 SQL的产生和发展 35
3.1.2 SQL数据库的体系结构 36
3.1.3 SQL的组成和特点 36
3.2 数据定义 38
3.2.1 SQL的基本数据类型 38
3.2.2 模式的定义与删除 39
3.2.3 基本表的定义、修改和删除 40
3.2.4 索引的定义和删除 43
3.3 基本表更新 44
3.3.1 插入数据 44
3.3.2 修改数据 45
3.3.3 删除数据 46
3.4 数据查询 46
3.4.1 单表查询 47
3.4.2 多表查询 53
3.4.3 嵌套查询 55
3.4.4 集合查询 59
3.4.5 带子查询的数据更新 60
3.5 视图 61
3.5.1 定义视图 61
3.5.2 更新视图 63
3.5.3 查询视图 65
3.6 小结 66
习题3 66
第4章 关系模式规范化设计 68
4.1 关系规范化问题的提出 68
4.2 函数依赖 70
4.2.1 函数依赖的概念 71
4.2.2 码 72
4.3 关系模式的范式 72
4.3.1 第1范式(1NF) 73
4.3.2 第2范式(2NF) 74
4.3.3 第3范式(3NF) 75
4.3.4 BC范式(BCNF) 76
4.4 多值依赖与第4范式(4NF) 77
4.4.1 多值依赖 78
4.4.2 第4范式(4NF) 80
4.5 规范化 81
4.6 数据依赖公理系统 82
4.7 模式分解 85
4.7.1 分解的无损连接性 87
4.7.2 分解的保持函数依赖性 88
4.8 小结 89
习题4 89
第5章 关系数据库设计 93
5.1 数据库设计概述 93
5.1.1 数据库设计的定义、内容和特点 93
5.1.2 数据库系统生存期 94
5.1.3 数据库设计的基本步骤 96
5.2 实体—联系模型 97
5.2.1 E-R模型的基本元素 97
5.2.2 E-R模型设计 99
5.3 需求分析 100
5.3.1 需求分析的任务和方法 101
5.3.2 数据字典 102
5.4 概念结构设计 102
5.4.1 概念模型 102
5.4.2 数据抽象 104
5.4.3 概念结构设计的E-R方法 104
5.5 逻辑结构设计 108
5.5.1 E-R模型向关系模型的转换 108
5.5.2 关系模型的优化 109
5.6 数据库的物理设计 109
5.7 数据库的实施和维护 110
5.7.1 数据库的实施 110
5.7.2 数据库运行与维护 111
5.8 小结 112
习题5 112
第6章 关系数据库维护 114
6.1 事务的基本概念 114
6.1.1 事务 114
6.1.2 如何定义事务 115
6.1.3 事务的特性 115
6.2 数据库的恢复技术 116
6.2.1 故障类型 116
6.2.2 恢复的实现技术 117
6.2.3 恢复策略 120
6.2.4 具有检查点的恢复技术 122
6.3 数据库的并发控制 123
6.3.1 并发控制概述 124
6.3.2 封锁机制 126
6.3.3 活锁和死锁 129
6.3.4 并发调度的可串行化 131
6.3.5 两段锁机制 132
6.3.6 封锁的粒度 134
6.4 数据库的完整性 136
6.4.1 实体完整性 137
6.4.2 参照完整性 138
6.4.3 用户定义的完整性 140
6.4.4 SQL中的触发器 141
6.5 数据库的安全性 144
6.5.1 用户标识和鉴别 144
6.5.2 存取控制 144
6.5.3 自主存取控制 145
6.5.4 授权与回收 146
6.5.5 数据库角色 149
6.5.6 强制存取控制 150
6.6 小结 151
习题6 151
第7章 SQL Server 2005数据库管理系统 153
7.1 SQL Server 2005概述 153
7.1.1 SQL Server的发展过程 153
7.1.2 SQL Server 2005的安装 153
7.1.3 SQL Server 2005的常用工具 160
7.1.4 SQL Server 2005的系统数据库 163
7.2 数据库的创建、修改和删除 164
7.2.1 数据库的创建 164
7.2.2 数据库的修改 165
7.2.3 数据库的删除 166
7.3 基本表的创建、修改和删除 167
7.3.1 基本表的创建 167
7.3.2 基本表结构的修改 170
7.3.3 基本表的删除 171
7.4 数据的添加、删除、修改和查询 172
7.5 数据库的备份与还原 174
7.5.1 数据库的备份 174
7.5.2 数据库的还原 175
7.6 SQL Server程序设计 177
7.6.1 程序中的批处理、注释 177
7.6.2 流程控制语句 179
7.7 高级应用技术 182
7.7.1 存储过程 182
7.7.2 触发器 185
7.8 小结 187
习题7 188
第8章 数据库编程 189
8.1 VB数据库编程 189
8.1.1 VB数据库编程概述 189
8.1.2 SQL Server数据库的数据源的配置 190
8.1.3 ADO数据控件开发数据库应用程序 194
8.2 Java数据库编程 199
8.2.1 JDBC概述 199
8.2.2 使用JDBC进行数据库开发 200
8.2.3 JDBC API的应用实例 201
8.3 小结 204
习题8 204
第9章 数据仓库与数据挖掘 205
9.1 数据仓库 205
9.1.1 数据仓库概述 205
9.1.2 数据仓库的系统结构 207
9.1.3 数据仓库中的数据组织 208
9.2 联机分析处理 210
9.2.1 OLAP概述 211
9.2.2 多维数据模型 211
9.2.3 多维分析操作 214
9.2.4 多维查询语言 215
9.2.5 多维数据的存储 217
9.3 SQL Server 2005数据仓库和联机分析处理实例 218
9.4 数据挖掘 227
9.4.1 数据挖掘概述 227
9.4.2 关联规则 230
9.4.3 分类 233
9.4.4 聚类 237
9.5 SQL Server 2005数据挖掘实例 241
9.5.1 Microsoft数据挖掘解决方案概述 241
9.5.2 Microsoft关联算法 245
9.5.3 Microsoft决策树算法 249
9.5.4 Microsoft聚类分析算法 251
9.6 小结 253
习题9 254
第10章 数据库新技术 255
10.1 数据库技术发展趋势 255
10.2 面向对象数据库 256
10.2.1 面向对象数据库概述 256
10.2.2 面向对象数据模型 256
10.2.3 面向对象的数据库系统 258
10.2.4 ODMG标准 259
10.2.5 面向对象的数据操作 260
10.3 分布式数据库 263
10.3.1 分布式数据库概述 263
10.3.2 分布式数据库的目标 263
10.3.3 分布式数据存储 264
10.3.4 分布式数据库系统 265
10.3.5 分布式查询处理 267
10.3.6 分布式事务处理 268
10.4 其他数据库新技术 270
10.4.1 多媒体数据库 270
10.4.2 空间数据库 271
10.5 小结 273
习题10 273
参考文献 275