第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章 关系数据库 15
2.1 关系数据模型 15
2.1.1 关系数据结构 15
2.1.2 关系操作 19
2.1.3 关系的完整性 20
2.2 关系代数 22
2.2.1 传统的集合运算 23
2.2.2 专门的关系运算 24
2.3 关系演算 29
2.3.1 元组关系演算 29
2.3.2 域关系演算 30
2.4 关系代数查询优化 31
2.4.1 关系代数等价变换规则 31
2.4.2 启发式优化规则 33
2.4.3 关系表达式的优化 33
2.5 小结 34
习题2 34
第3章 关系数据库标准语言SQL 39
3.1 SQL概述 39
3.1.1 SQL的产生和发展 39
3.1.2 SQL数据库的体系结构 40
3.1.3 SQL的组成和特点 40
3.2 数据定义 42
3.2.1 SQL的基本数据类型 42
3.2.2 模式的定义与删除 43
3.2.3 基本表的定义、修改和删除 44
3.2.4 索引的定义和删除 47
3.3 基本表更新 48
3.3.1 插入数据 48
3.3.2 修改数据 49
3.3.3 删除数据 50
3.4 数据查询 50
3.4.1 单表查询 51
3.4.2 多表查询 57
3.4.3 嵌套查询 59
3.4.4 集合查询 63
3.4.5 带子查询的数据更新 64
3.5 视图 65
3.5.1 视图的建立和删除 65
3.5.2 更新视图 67
3.5.3 查询视图 68
3.6 小结 69
习题3 70
第4章 关系模式规范化设计 73
4.1 关系规范化问题的提出 73
4.2 函数依赖 75
4.2.1 函数依赖的概念 76
4.2.2 码 77
4.3 关系模式的范式 77
4.3.1 第1范式(1NF) 78
4.3.2 第2范式(2NF) 79
4.3.3 第3范式(3NF) 80
4.3.4 BC范式(BCNF) 81
4.4 多值依赖与第4范式(4NF) 82
4.4.1 多值依赖 83
4.4.2 第4范式(4NF) 85
4.5 规范化 86
4.6 数据依赖公理系统 87
4.7 模式分解 90
4.7.1 分解的无损连接性 92
4.7.2 分解的保持函数依赖性 93
4.8 小结 94
习题4 94
第5章 关系数据库设计 98
5.1 数据库设计概述 98
5.1.1 数据库设计的定义、内容和特点 98
5.1.2 数据库系统生存期 100
5.1.3 数据库设计的基本步骤 101
5.2 实体—联系模型 103
5.2.1 E-R模型的基本元素 103
5.2.2 E-R模型设计 105
5.3 需求分析 106
5.3.1 需求分析的任务和方法 106
5.3.2 数据字典 108
5.4 概念结构设计 109
5.4.1 概念模型 109
5.4.2 数据抽象 110
5.4.3 概念结构设计的E-R方法 110
5.5 逻辑结构设计 114
5.5.1 E-R模型向关系模型的转换 114
5.5.2 关系模型的优化 115
5.5.3 设计数据库外模式 116
5.6 数据库的物理设计 116
5.6.1 物理设计的内容 116
5.6.2 设计数据库的存取方法 117
5.6.3 设计数据库的存储结构 117
5.6.4 评价物理结构 118
5.7 数据库的实施和维护 118
5.7.1 数据库的实施 118
5.7.2 数据库运行与维护 119
5.8 小结 120
习题5 120
第6章 关系数据库维护 124
6.1 事务 124
6.1.1 事务和程序的区别 124
6.1.2 如何定义事务 125
6.1.3 事务的特性 125
6.2 数据库的恢复技术 126
6.2.1 故障类型 126
6.2.2 恢复的实现技术 127
6.2.3 恢复策略 130
6.2.4 具有检查点的恢复技术 132
6.3 数据库的并发控制 133
6.3.1 并发控制概述 134
6.3.2 封锁机制 136
6.3.3 活锁和死锁 139
6.3.4 并发调度的可串行化 141
6.3.5 两段锁机制 142
6.3.6 封锁的粒度 144
6.4 数据库的完整性 146
6.4.1 实体完整性 146
6.4.2 参照完整性 147
6.4.3 用户定义的完整性 149
6.4.4 SQL中的触发器 151
6.5 数据库的安全性 153
6.5.1 用户标识和鉴别 153
6.5.2 存取控制 154
6.5.3 自主存取控制 155
6.5.4 授权与回收 155
6.5.5 数据库角色 158
6.5.6 强制存取控制 159
6.6 小结 160
习题6 160
第7章 SQL Server 2005数据库管理系统 164
7.1 SQL Server 2005概述 164
7.1.1 SQL Server的发展过程 164
7.1.2 SQL Server 2005的安装 164
7.1.3 SQL Server 2005的常用工具 171
7.1.4 SQL Server 2005的系统数据库 174
7.2 数据库的创建、修改和删除 175
7.2.1 数据库的创建 175
7.2.2 数据库的修改 176
7.2.3 数据库的删除 177
7.3 基本表的创建、修改和删除 178
7.3.1 基本表的创建 178
7.3.2 基本表的修改 180
7.3.3 基本表的删除 181
7.4 数据的添加、删除、修改和查询 182
7.5 数据库的备份与还原 184
7.5.1 数据库的备份 184
7.5.2 数据库的还原 185
7.6 SQL Server程序设计 187
7.6.1 程序中的批处理、注释、变量 187
7.6.2 流程控制语句 189
7.7 高级应用技术 192
7.7.1 存储过程 192
7.7.2 触发器 195
7.8 小结 197
习题7 197
第8章 数据库编程 200
8.1 V C++数据库编程 200
8.1.1 ADO概述 200
8.1.2 V C++中使用ADO 201
8.1.3 ADO的应用实例 202
8.2 C#数据库编程 205
8.2.1 ADO.NET概述 205
8.2.2 ADO.NET用法 205
8.2.3 C#数据库连接实例 210
8.3 Java数据库编程 211
8.3.1 JDBC概述 211
8.3.2 使用JDBC进行数据库开发 212
8.3.3 JDBC API的应用实例 213
8.4 小结 216
习题8 217
第9章 数据仓库与数据挖掘 218
9.1 数据仓库 218
9.1.1 数据仓库概述 218
9.1.2 数据仓库的系统结构 220
9.1.3 数据仓库中的数据组织 221
9.2 联机分析处理 223
9.2.1 OLAP概述 223
9.2.2 多维数据模型 224
9.2.3 多维分析操作 227
9.2.4 多维查询语言 228
9.2.5 多维数据的存储 229
9.3 SQL Server 2005数据仓库和联机分析处理实例 230
9.4 数据挖掘 239
9.4.1 数据挖掘概述 239
9.4.2 关联规则 242
9.4.3 分类 245
9.4.4 聚类 249
9.5 SQL Server 2005数据挖掘实例 253
9.5.1 Microsoft数据挖掘解决方案概述 253
9.5.2 Microsoft关联算法 257
9.5.3 Microsoft决策树算法 260
9.5.4 Microsoft聚类分析算法 263
9.6 小结 265
习题9 265
第10章 数据库新技术 267
10.1 数据库技术发展趋势 267
10.2 面向对象数据库 268
10.2.1 面向对象数据库概述 268
10.2.2 面向对象数据模型 268
10.2.3 面向对象数据库系统 270
10.2.4 ODMG标准 270
10.2.5 面向对象的数据操作 272
10.3 分布式数据库 275
10.3.1 分布式数据库概述 275
10.3.2 分布式数据库的设计目标 276
10.3.3 分布式数据存储 276
10.3.4 分布式数据库系统 277
10.3.5 分布式查询处理 279
10.3.6 分布式事务处理 280
10.4 其他数据库新技术 282
10.4.1 多媒体数据库 282
10.4.2 空间数据库 283
10.4.3 NoSQL数据库 285
10.5 小结 288
习题10 288
附录A:上机实验指导 291
附录B:课程设计指导 306
参考文献 328