第一部分 基础知识 3
第1章 数据库系统概论 3
1.1 基本概念 3
1.1.1 数据库管理系统 3
1.1.2 数据库系统的组成及特点 4
1.2 数据管理技术的发展 6
1.3 数据库系统的体系结构 9
1.3.1 数据库系统的内部体系结构 9
1.3.2 数据库系统的应用体系结构 11
1.4 SQL Server 2008关系数据库概述 13
1.5 本书应用实例——网上服装销售系统简介 14
本章小结 14
习题1 14
第2章 数据模型 16
2.1 数据建模的过程 16
2.2 概念模型 16
2.2.1 基本概念 17
2.2.2 实体-联系模型 19
2.2.3 UML 19
2.3 数据模型的组成要素 20
2.4 结构化数据模型 20
2.5 非结构化数据模型 24
本章小结 24
习题2 24
第3章 关系数据库 26
3.1 关系数据库的概念 26
3.2 关系模型的基础 28
3.3 关系代数 29
3.4 关系代数的应用 32
本章小结 33
习题3 33
第4章 关系数据库查询语言SQL 35
4.1 SQL的基本概念 35
4.2 数据定义语句 36
4.3 数据查询语句 38
4.3.1 查询语句的基本结构 38
4.3.2 SQL中的简单查询 39
4.3.3 多个关系上的查询 41
4.3.4 子查询 43
4.3.5 集合查询 44
4.4 数据操纵语句 45
4.5 视图 47
4.6 嵌入式SQL 49
4.7 存储过程与函数 53
4.7.1 PL/SQL的块结构和变量常量的定义 53
4.7.2 控制结构 54
4.7.3 存储过程 55
4.7.4 SQL Server 2008存储过程 56
本章小结 60
习题4 60
第5章 关系数据库的设计理论 62
5.1 函数依赖 62
5.1.1 函数依赖的定义 62
5.1.2 候选码的定义 63
5.1.3 Armstrong公理 63
5.1.4 闭包及其计算 64
5.2 关系模式的规范化 66
5.2.1 基本概念 66
5.2.2 第一范式(1NF) 68
5.2.3 第二范式(2NF) 68
5.2.4 第三范式(3NF) 69
5.2.5 BC范式(BCNF) 69
5.2.6 多值依赖和第四范式 70
5.3 模式分解 71
5.3.1 模式分解的定义 71
5.3.2 无损连接性与函数依赖保持性 72
5.3.3 模式分解的算法 74
本章小结 75
习题5 75
第二部分 数据库系统技术 79
第6章 数据库设计 79
6.1 软件开发过程简介 79
6.2 数据库设计 81
6.2.1 数据库设计的特点 81
6.2.2 数据库设计的基本步骤 82
6.3 需求分析 83
6.3.1 需求分析的任务和方法 83
6.3.2 数据流图 86
6.3.3 数据字典 87
6.4 概念结构设计 88
6.4.1 概念结构设计的方法与步骤 88
6.4.2 局部E-R模型设计 90
6.4.3 全局E-R模型设计 92
6.4.4 UML模型的设计 95
6.5 逻辑结构设计 103
6.5.1 逻辑结构设计的方法和步骤 103
6.5.2 E-R模型向关系模型的转换 104
6.5.3 关系模型的优化 105
6.5.4 用户子模式的设计 105
6.6 数据库的物理设计 106
6.6.1 物理设计的内容与方法 106
6.6.2 存取方法的选择与存储结构的确定 107
6.6.3 物理设计性能的评价 109
6.7 数据库的实施和维护 109
6.8 自动数据库设计工具介绍 111
本章小结 113
习题6 113
第7章 关系数据库系统及其查询优化 116
7.1 关系数据库系统 116
7.1.1 关系数据库系统的定义与分类 116
7.1.2 全关系系统的基本准则 116
7.1.3 关系数据库管理系统 118
7.2 关系数据库的查询优化 120
7.2.1 概述 120
7.2.2 关系代数表达式的变换 121
7.2.3 查询优化的一般准则 122
7.2.4 查询优化的构建和算法 123
7.2.5 优化器的处理过程 123
7.2.6 物理优化 123
本章小结 124
习题7 125
第8章 数据库管理 126
8.1 事务处理 126
8.1.1 事务的状态与特性 126
8.1.2 事务的并发与可串行化 127
8.1.3 SQL中的事务处理模型 129
8.2 事务的并发控制 130
8.2.1 封锁与封锁协议 130
8.2.2 活锁与死锁 131
8.2.3 两阶段锁 132
8.2.4 多粒度锁 133
8.2.5 基于时间戳的协议 134
8.2.6 SQL Server 2008的并发控制 135
8.3 数据库的备份与恢复 136
8.3.1 数据库故障与恢复的基本概念 136
8.3.2 数据库恢复的技术 137
8.3.3 数据库恢复的策略 139
8.3.4 数据库的备份策略 140
8.3.5 SQL Server 2008的备份与恢复技术 141
本章小结 142
习题8 143
第9章 数据库的完整性和安全性 144
9.1 数据库的完整性控制 144
9.2 断言 147
9.3 触发器 148
9.4 数据库的安全性控制 151
9.5 数据库安全性的控制策略 154
9.6 角色与权限 157
9.7 SQL Server 2008的安全机制 159
本章小结 163
习题9 163
第三部分 数据库技术的应用与发展 167
第10章 数据库技术的应用 167
10.1 数据仓库 167
10.1.1 数据仓库概述 167
10.1.2 数据仓库的体系结构 168
10.1.3 数据仓库的数据存储与处理 169
10.1.4 数据仓库的开发步骤 170
10.2 联机分析处理 171
10.2.1 联机分析处理概述 171
10.2.2 联机分析处理的实现方法 172
10.2.3 联机分析处理的实施 173
10.2.4 联机分析处理的新发展 174
10.3 数据挖掘 175
10.3.1 数据挖掘概述 175
10.3.2 关联规则 176
10.3.3 数据分类 178
10.3.4 数据聚类 178
10.4 决策支持系统 180
10.4.1 传统决策支持系统 180
10.4.2 基于数据仓库、OLAP和数据挖掘的新决策支持系统 181
10.4.3 传统决策支持系统与新的决策支持系统的比较 182
10.4.4 综合决策支持系统 183
10.5 信息检索系统 184
10.6 SQL Server 2008联机分析服务 186
10.6.2 OLAP模型设计和应用开发 189
10.6.3 多维数据库设计 189
本章小结 191
习题10 191
第11章 XML与关系数据库 192
11.1 XML基础知识 192
11.1.1 XML简介 193
11.1.2 XML应用程序接口 198
11.2 XML与关系数据库 200
11.3 SQL Server 2008对XML支持 201
本章小结 205
习题 205
第12章 对象—关系数据库 206
12.1 面向对象的基本概念 206
12.1.1 类 206
12.1.2 对象 206
12.1.3 继承 207
12.1.4 多重继承 208
12.1.5 对象标识 208
12.1.6 对象包含 208
12.2 面向对象语言 209
12.3 对象关系模型 209
12.3.1 嵌套关系 210
12.3.2 复杂类型 210
12.3.3 引用类型 212
12.3.4 继承类型 212
12.4 面向对象设计和关系设计 214
12.4.1 从面向对象属性到关系属性 212
12.4.2 面向对象中联系的标识 215
12.4.3 关系模型与对象关系模型的区别 215
12.5 与复杂类型有关的查询 217
本章小结 218
习题 219
第13章 数据库发展趋势 220
13.1 数据库技术的发展趋势 220
13.1.1 数据库技术的发展趋势 220
13.1.2 数据库技术面临的挑战 221
13.2 多种主流数据库系统简介 221
13.2.1 分布式数据库 222
13.2.2 空间数据库 224
13.2.3 主存数据库 225
13.2.4 多媒体数据库 227
13.3 云存储技术及云数据库 229
本章小结 234
习题13 235
附录A 数据库发展趋势 236
A.1 需求分析 236
A.2 概念结构设计 241
A.3 逻辑结构设计 243
A.4 物理设计与实施 247
A.5 数据库运行与维护 250
A.5 系统中与数据库相关的部分代码 251
参考文献 256