第1章 数据库系统概论 1
1.1数据库系统的应用及其研究领域 2
1.2数据库系统概述 3
1.2.1数据库的基本概念和相关术语 3
1.2.2数据库技术的产生和发展 6
1.2.3数据库系统的特点 8
1.3数据模型 9
1.3.1概念模型 10
1.3.2数据模型 10
1.4数据库系统的结构与组成 11
1.4.1数据库系统的体系结构 11
1.4.2数据库系统的模式结构 12
1.4.3数据库系统的一般组成 14
1.5数据库语言 15
1.5.1四大数据库语言 15
1.5.2结构化查询语言SQL 16
1.6数据库系统的发展趋势及前沿技术 16
1.7习题 18
第2章 关系数据模型 19
2.1数据模型 20
2.1.1概述 20
2.1.2概念模型 20
2.1.3数据模型的基本要素 23
2.1.4数据模型的发展 24
2.2关系数据模型 26
2.2.1基本概念 27
2.2.2关系数据模型的数据结构 27
2.2.3数据操作 29
2.2.4数据约束 30
2.2.5关系数据模型的优缺点 30
2.3关系 31
2.3.1域、笛卡儿积和关系 31
2.3.2关系的性质 32
2.2.3关系模式 32
2.3.4关系完整性 33
2.4关系代数和关系演算 34
2.4.1关系代数 34
2.4.2关系演算 40
2.5习题 41
第3章 关系数据库标准语言SQL 43
3.1 SQL简介 44
3.1.1 SQL的发展史 44
3.1.2 SQL提供的功能 44
3.1.3 SQL的特点 45
3.2数据定义 46
3.2.1数据库的创建、修改与删除 46
3.2.2基本表的定义、修改与删除 49
3.3数据查询 53
3.3.1格式 53
3.3.2简单查询 54
3.3.3连接查询 61
3.3.4用TOP限制结果集 65
3.3.5嵌套查询 65
3.3.6集合查询 68
3.4数据更新 69
3.4.1插入 69
3.4.2修改 70
3.4.3删除 71
3.5视图 71
3.5.1视图的基本概念 72
3.5.2视图的定义与删除 72
3.5.3视图的查询 74
3.5.4视图的更新 74
3.5.5视图的作用 75
3.6索引 76
3.6.1索引的概念 76
3.6.2索引的分类 77
3.6.3索引的创建与删除 78
3.6.4建立索引的原则 79
3.7习题 79
第4章 完整性约束 81
4.1数据库完整性概述 82
4.2完整性约束的分类 82
4.3完整性约束的定义 82
4.3.1 Primary Keys约束 82
4.3.2 UNIQUE约束 83
4.3.3 NOT NULL约束 84
4.3.4 CHECK约束 84
4.3.5 Foreign-Key约束 86
4.3.6域约束 89
4.3.7断言 89
4.4完整性约束的修改 90
4.4.1约束的命名 90
4.4.2约束的修改 90
4.5完整性约束的验证 91
4.6数据库产品对完整性的支持 93
4.6.1 Oracle的完整性约束 94
4.6.2 DB2的完整性约束 95
4.6.3 SQL Server 2000的完整性约束 96
4.7习题 97
第5章 数据库安全 98
5.1计算机安全概述 99
5.2数据库安全性控制 100
5.3自主访问控制(DAC) 101
5.3.1权限 101
5.3.2授权 102
5.3.3授权图 103
5.3.4授权和视图 105
5.3.5角色 106
5.3.6收回权限 106
5.4强制访问控制(MAC) 107
5.5跟踪审计 108
5.6数据库安全性的其他技术 109
5.6.1数据加密 109
5.6.2鉴定 109
5.7习题 111
第6章 数据库恢复技术 112
6.1事务概念 113
6.2数据库恢复概述 115
6.3恢复的实现技术 115
6.3.1日志 115
6.3.2更新事务的执行与恢复 116
6.3.3检查点 120
6.3.4数据转储 122
6.4故障的种类及恢复策略 123
6.4.1故障的分类 123
6.4.2不同故障的恢复策略 123
6.5 RAID 126
6.5.1 RAID的优点 126
6.5.2 RAID的分级 126
6.5.3 RAID级别的选择 128
6.5.4 RAID的应用 129
6.6习题 129
第7章 并发控制 130
7.1事务的并发执行 131
7.2并发执行可能引起的问题 131
7.3可串行化 132
7.3.1串行调度 132
7.3.2可串行化调度 133
7.3.3可恢复性 136
7.4基于锁的并发控制协议 137
7.4.1封锁 137
7.4.2两段锁协议(2PL) 139
7.4.3锁的升级及更新锁 140
7.5活锁与死锁 141
7.5.1活锁 141
7.5.2死锁的形成 141
7.5.3死锁的预防 142
7.5.4死锁的检测及处理 143
7.6多粒度封锁 144
7.7习题 145
第8章 关系数据库设计理论 146
8.1关系模式设计中的问题 147
8.2函数依赖 148
8.2.1函数依赖的定义 149
8.2.2 FD的逻辑蕴涵 150
8.2.3 FD的Armstrong公理 150
8.2.4函数依赖与码的联系 151
8.2.5属性集的闭包 152
8.2.6 FD推理规则的完备性 152
8.2.7 FD集的最小依赖集 153
8.3模式分解 154
8.3.1模式分解问题 154
8.3.2无损分解 154
8.3.3保持函数依赖的分解 157
8.3.4模式分解与模式等价问题 159
8.4规范化 160
8.4.1第一范式(1NF) 160
8.4.2第二范式(2NF) 161
8.4.3第三范式(3NF) 161
8.4.4 BC范式(BCNF) 162
8.4.5模式设计的原则 163
8.5多值函数依赖与4NF 164
8.5.1多值函数依赖 164
8.5.2 FD与MVD的推理规则集 165
8.5.3 4NF 165
8.6连接依赖和SNF 165
8.7本章小结 166
8.8习题 166
第9章 数据库设计方法 168
9.1数据库设计概述 169
9.1.1数据库的设计方法 169
9.1.2数据库开发生命周期方法 171
9.1.3数据库设计的基本过程 172
9.2数据库需求分析 175
9.2.1需求描述与分析 175
9.2.2需求分析的步骤 176
9.2.3数据字典 179
9.3概念数据库设计 180
9.3.1概念数据库设计的必要性 180
9.3.2概念设计的方法和步骤 181
9.3.3概念设计工具:E-R图 182
9.4数据库逻辑结构设计及优化 190
9.4.1逻辑设计环境 190
9.4.2 E-R模式向关系模型的转换 191
9.4.3用关系规范化理论对关系数据模型进行优化 191
9.5数据库的物理设计 192
9.5.1数据库的物理结构确定 192
9.5.2物理结构的评价 193
9.6数据库的实施和运行维护 194
9.6.1实际数据库结构的建立 194
9.6.2装入数据 194
9.6.3应用程序开发和调试 194
9.6.4数据库试运行 195
9.6.5数据库运行和维护 195
9.7习题 196
第10章 数据库高级开发技术 197
10.1游标 198
10.1.1游标种类 198
10.1.2游标操作 198
10.2存储过程 201
10.2.1存储过程的概念 201
10.2.2存储过程的种类 202
10.2.3存储过程的操作 203
10.3函数 205
10.3.1 SQL中函数的概念 205
10.3.2函数类型 206
10.3.3函数的操作 206
10.4触发器 210
10.4.1触发器的概念 210
10.4.2触发器的作用 211
10.4.3触发器的工作过程 211
10.4.4触发器的操作 212
10.5嵌入式SQL 215
10.5.1 ESQL的处理过程 215
10.5.2 ESQL与主语言之间的通信 215
10.5.3 ESQL的使用规定 215
10.5.4 ESQL的使用技术 216
10.6数据库的连接访问 217
10.6.1 ODBC 217
10.6.2 JDBC 219
10.7 XML数据库 219
10.7.1 XML数据模型 220
10.7.2 XML数据库 220
10.8本章小结 222
10.9习题 222
第11章 数据仓库技术 223
11.1商业智能 224
11.1.1商业智能是什么 224
11.1.2商业智能过程 224
11.1.3商业智能的体系结构 225
11.1.4商业智能应用 226
11.1.5商业智能工具 227
11.2数据仓库的概念与特征 228
11.2.1数据仓库的产生背景 228
11.2.2数据仓库的概念 229
11.2.3数据仓库与传统数据库的比较 230
11.3数据仓库的体系结构 231
11.3.1数据仓库系统的总体结构 231
11.3.2数据仓库系统的分层结构 233
11.3.3带有ODS的数据仓库体系结构 234
11.4多维数据模型 235
11.4.1数据立方体 235
11.4.2星型模式 236
11.4.3雪花模式 237
11.4.4事实星座模式 237
11.5数据仓库的ETL过程 238
11.6联机分析处理 238
11.6.1 OLAP的基本概念 238
11.6.2 OLAP的基本操作 238
11.6.3 OLAP的特点 239
11.6.4 OLAP与OLTP的比较 239
11.7数据仓库结构设计 240
11.7.1数据仓库的工作过程 240
11.7.2数据仓库系统开发过程 241
11.7.3数据仓库的元数据设计 243
11.7.4数据仓库性能 243
11.8本章小结 244
11.9习题 244
第12章 数据挖掘技术 245
12.1数据挖掘概述 246
12.1.1数据挖掘的起源和发展 246
12.1.2数据挖掘的定义和任务 246
12.1.3一个典型的数据挖掘过程 247
12.2数据挖掘的传统技术 247
12.2.1数据挖掘的数据对象 247
12.2.2数据挖掘发现的知识模式 248
12.2.3数据挖掘的主要技术 249
12.3数据挖掘工具及其评价标准 250
12.3.1数据挖掘工具的分类 251
12.3.2几种常用的数据挖掘工具 251
12.3.3数据挖掘工具的评价标准 256
12.3.4数据挖掘工具的选择原则 256
12.4数据挖掘技术的新发展 257
12.4.1文本数据挖掘 257
12.4.2 Web数据挖掘 258
12.4.3可视化数据挖掘 258
12.4.4空间数据挖掘 259
12.4.5分布式数据挖掘 260
12.5数据挖掘及其他系统的关系 260
12.5.1与数据仓库集成的数据挖掘体系 260
12.5.2数据仓库与数据挖掘的关系 261
12.5.3数据仓库与专家系统、OLAP的关系 262
12.6数据挖掘的应用现状及前景 262
12.6.1商业零售行业 263
12.6.2金融和保险服务行业 263
12.6.3科学研究领域 263
12.6.4电信网络管理 263
12.6.5其他主要应用领域 264
12.7习题 264
第13章 地理信息系统和空间数据库 265
13.1 GIS和空间数据库概念 266
13.1.1什么是GIS 266
13.1.2 GIS的组成 267
13.1.3 GIS的主要用途 270
13.2 GIS的主要功能和行业应用 271
13.2.1 GIS的主要功能 271
13.2.2 GIS的应用领域 274
13.2.3 GIS行业应用案例——配电网可视化管理系统 275
13.3主流GIS和空间数据库产品 279
13.3.1 GIS的发展和国内外的GIS产品 279
13.3.2 ArcGIS 280
13.3.3 SuperMap GIS 281
13.3.4 MapGIS 283
13.4习题 284
第14章 主流数据库产品介绍 285
14.1 Oracle数据库 286
14.1.1 Oracle简介 286
14.1.2 Oracle发展简史 286
14.1.3 Oracle特点 287
14.1.4 Oracle 11g新特性 287
14.1.5 Oracle体系结构 289
14.1.6 Oracle开发套件 290
14.2 MS SQL Server数据库 292
14.2.1 SQL Server简介 292
14.2.2 SQL Server发展简史 292
14.2.3 SQL Server 2008新特性 292
14.2.4 SQL Server系统结构 294
14.2.5 SQL Server的工具和组件 294
14.3 DB2数据库 295
14.3.1 DB2数据库简介 295
14.3.2 DB2发展简史 296
14.3.3 DB2核心数据库特点 296
14.3.4 DB2工具 296
14.3.5 WebSphere应用服务器 297
14.3.6开发工具 298
14.4 MySQL数据库 298
14.4.1 MySQL数据库简介 298
14.4.2 MySQL发展简史 298
14.4.3 MySQL特点 299
14.4.4 MySQL工具 299
14.5数据库产品的简略比较 300
附录A HIS案例 303
参考文献 309