第一篇 基础篇 1
第1章 数据库系统概论 1
1.1 数据库技术的产生与发展 1
目录 1
1.1.1 数据管理的4个发展阶段 2
1.1.2 数据库系统在计算机 6
领域中的地位与意义 6
1.1.3 数据库技术的主要研究领域 7
1.2 数据库系统基本概念 8
1.2.1 数据 8
1.2.2 数据库 9
1.2.3 数据库管理系统 10
1.2.4 数据库系统 12
1.3.1 模型与数据模型 14
1.3 数据模型(一)——概念数据模型 14
1.3.2 概念数据模型 16
1.4 数据模型(二)——结构数据模型 19
1.4.1 结构数据模型的构成 19
1.4.2 层次模型 20
1.4.3 网状模型 22
1.4.4 关系模型 23
1.4.5 面向对象模型 24
1.5 数据库内部体系结构 26
1.5.1 数据库的三级模式(体系)结构 26
1.5.2 数据库的二级映射功能 28
1.5.3 三级模式结构和二级功能 29
映射的意义 29
1.6 本章小结 30
1.7 习题 31
第2章 关系数据模型与关系运算 32
2.1 关系数据模型 32
2.1.1 关系的笛卡尔乘积定义 32
2.1.2 关系的二维表格描述 33
2.1.3 关系模式与关系实例 35
2.2 关系数据操作 36
2.2.1 关系操作的分类 36
2.2.2 关系代数和关系演算 37
2.2.3 关系数据语言 38
2.2.4 完整性约束 39
2.3 关系运算(一)——关系代数 39
2.3.1 数据更新基本运算 40
2.3.2 数据查询基本运算 41
2.3.3 关系代数 43
2.3.4 基本关系代数运算举例 43
2.3.5 扩充关系代数运算 44
2.3.6 关系代数运算小结 48
2.4 关系运算(二)——关系演算 49
2.4.1 元组关系演算 49
2.4.2 域关系演算 51
2.4.3 关系运算的安全性 52
2.4.4 关系代数、元组演算、 53
域演算的等价性 53
2.5 三种典型关系数据库语言 54
2.5.1 基于关系代数的语言—— 54
ISBL 54
2.5.2 基于元组关系演算语言——ALPHA语言 56
2.5.3 基于域演算的语言—— 58
QBE 58
2.6 本章小结 63
2.7 习题 63
第3章 关系数据库标准语言——SQL 66
3.1 SQL语言概述 66
3.1.1 SQL的产生、发展及意义 66
3.1.2 SQL语言的特点 67
3.1.3 SQL语言的功能 68
3.2 数据定义 69
3.2.1 SQL的基本数据类型与 69
数据定义语句 69
更改 70
3.2.2 基本表的创建、取消与 70
3.2.3 索引的创建与取消 72
3.3 数据查询 73
3.3.1 SQL的映像语句 73
3.3.2 单表查询 74
3.3.3 连接查询 77
3.3.4 嵌套查询 78
3.3.5 查询中的统计计算 81
3.4 数据更新 83
3.4.1 数据删除 83
3.4.2 数据插入 84
3.4.3 数据修改 84
3.5 视图管理 85
3.5.1 视图的定义与删除 86
3.5.2 视图操作 87
3.6 数据控制 88
3.6.1 授予权限 89
3.6.2 收回权限 90
3.7 嵌入式SQL 91
3.7.1 主语言语句和SQL 91
语句的区别 91
3.7.2 主语言变量与SQL 92
变量的区别 92
3.7.3 游标语句的使用 93
3.7.4 嵌入式SQL小结 94
3.7.5 动态SQL 95
3.8 本章小结 96
3.9 习题 96
4.1 查询处理与查询优化 98
4.1.1 查询处理中的优化问题 98
第4章 关系数据库的查询处理 98
与优化 98
4.1.2 查询优化的必要性 99
4.1.3 关系查询优化的可行性 101
4.2 查询优化技术 101
4.2.1 查询优化器 102
4.2.2 关系查询处理过程 102
4.3 关系代数等价变换规则 104
4.3.1 同类运算间的等价公式 104
4.3.2 不同类运算间的等价公式 105
4.4 查询优化一般准则 106
4.5.2 关系代数表达式优化算法 107
4.5.1 语法树 107
4.5 查询优化一般算法 107
4.6 本章小结 113
4.7 习题 113
第5章 关系数据库规范化理论 115
5.1 问题的提出 115
5.1.1 数据冗余及其操作异常 115
5.1.2 冗余产生原因分析 116
5.1.3 问题解决思路 117
5.2 函数依赖 117
5.2.1 函数依赖基本概念 118
5.2.2 键的函数依赖表述 119
5.3.1 函数依赖集的闭包 120
5.3 函数依赖集的闭包 120
5.2.3 主属性与非主属性 120
5.3.2 函数依赖的推理规则 121
5.3.3 属性的闭包与F逻辑 123
蕴含的充要条件 123
5.3.4 最小函数依赖集Fmin 124
5.4 模式分解与算法 125
5.4.1 关系模式分解 126
5.4.2 无损分解 126
5.4.3 保持函数依赖 129
5.5 函数依赖与2NF、3NF和BCNF 131
5.5.1 第一范式——1NF 131
5.5.2 第二范式——2NF 132
5.5.3 第三范式——3NF 134
BCNF 136
5.5.4 Boyce-Codd范式—— 136
5.6 多值依赖与4NF 138
5.6.1 问题的引入 139
5.6.2 多值依赖基本概念 140
5.6.3 第四范式——4NF 141
5.7 连接依赖与5NF 142
5.7.1 连接依赖基本概念 142
5.7.2 第五范式——5NF 143
5.7.3 规范化问题小结 143
5.8 本章小结 144
5.9 习题 145
6.1 数据库设计概述 146
6.1.1 数据库设计 146
第6章 数据库的设计与管理 146
6.1.2 数据库系统生命周期 147
6.2 数据库设计的需求分析 147
6.2.1 需求调查 148
6.2.2 需求分析 148
6.2.3 数据需求分析说明书 149
6.3 数据库的概念设计 149
6.3.1 数据概念设计概述 149
6.3.2 局部概念模式设计 151
6.3.3 局部概念设计综合为全局 155
概念设计——视图集成 155
6.4 逻辑设计 157
6.4.1 逻辑设计基本方法 158
6.4.2 EE-R图向关系模型转换 158
6.4.4 数据模型优化 161
的数据模型转换 161
6.4.3 关系模型向RDBMS支持 161
6.4.5 关系视图设计 162
6.5 数据库的物理设计 162
6.5.1 集簇设计 162
6.5.2 索引设计 163
6.5.3 分区设计 163
6.6 数据库管理 164
6.7 本章小结 165
6.8 习题 166
第7章 数据库的安全性和完整性 167
7.1 数据库的安全性保护 167
7.1.1 数据库安全性问题的提出 167
7.1.2 数据库安全性保护范围 168
7.1.3 操作系统中的安全性保护 169
7.1.4 数据库管理系统中的安全 170
性保护 170
7.1.5 SQL中的安全性机制 172
7.1.6 数据库安全保护的 173
其他措施 173
7.1.7 数据库的安全标准 174
7.2 数据库的完整性 176
7.2.1 数据库完整性问题的提出 176
7.2.2 完整性基本概念 176
7.2.3 完整性约束条件 177
7.2.4 完整性规则和完整性 178
控制 178
7.2.5 参照完整性控制 181
机制 182
7.2.6 SQL中的完整性约束 182
7.2.7 触发器 183
7.3 本章小结 185
7.4 习题 186
第8章 数据库的事务处理 187
8.1 数据库事务处理 187
8.1.1 事务概念及基本性质 187
8.1.2 事务基本操作与活动状态 188
8.1.3 事务处理SQL语句 189
8.2 并发控制技术 190
8.2.1 事务的并发执行 190
8.2.2 并发操作引发的问题 191
8.2.3 事务的并发控制 193
8.2.4 封锁 195
8.2.5 封锁粒度 196
8.2.6 封锁协议 197
8.2.7 活锁与死锁 202
8.3 数据库恢复技术 203
8.3.1 数据库故障分类 204
8.3.2 数据库恢复技术 205
8.3.3 数据库恢复策略 207
8.3.4 数据库的复制与镜像 208
8.4 本章小结 209
8.5 习题 209
第9章 分布式数据库 211
9.1 概述 211
9.1.1 分布式数据库的起源 211
9.1.2 分布式数据库的概念 213
设计原则 215
9.1.3 分布式数据库系统的 215
9.2 分布式数据库结构设计技术 216
9.2.1 数据分片 216
9.2.2 数据重复技术 219
9.2.3 更新传播 219
9.3 查询处理 220
9.4 分布事务管理 221
9.4.1 事务的恢复控制 221
9.4.2 事务的并发控制 222
9.5 本章小结 223
9.6 习题 223
10.1 数据模型的新特征 224
第10章 数据库新技术概述 224
第二篇 高级篇 224
10.2 数据库系统的新特征 225
10.3 现代数据库系统的范畴 227
10.4 现代数据库主要领域 228
10.5 现代数据库实现途径 231
10.6 本章小结 232
10.7 习题 232
第11章 时态数据库技术 233
11.1 起源与发展 233
11.1.1 开创期 233
11.1.2 发展期 234
11.1.3 应用期 235
11.2 时间数据基本概念 235
11.2.2 时间元素 236
11.2.1 时态数据 236
11.2.3 时间粒度 238
11.3 三种时间和四种数据库 240
11.3.1 三种基本时间 240
11.3.2 四种数据库 242
11.4 时态关系操作 246
11.4.1 时态数据库中的关系 246
操作 246
11.4.2 历史数据库中的时态 247
关系操作 247
11.5 时态数据库查询语言 251
11.5.1 TempSQL模型及语言 251
11.5.2 TQuel模型及语言 251
11.5.3 TSQL2语言 252
11.6.1 TimeDB基础 253
11.6 时态数据库软件TimeDB 253
11.6.2 TimeDB的时态扩展 254
11.6.3 TimeDB与商业DBMS 256
关系 256
11.7 本章小结 257
11.8 习题 258
第12章 实时数据库 259
12.1 实时应用的数据处理 259
12.2 实时数据库简介 259
12.2.1 实时数据库系统定义 260
12.2.2 实时系统的基本特件 260
12.2.3 实时数据库与时态 260
数据库的区别 260
12.3.1 RTDB的数据特征 261
12.3 实时数据库的特征 261
12.3.2 RTDB的事务特征 262
12.4 实时数据库管理系统 264
12.4.1 实时数据库系统结构 264
12.4.2 实时数据库执行模型 265
12.5 实时事务模型 266
12.5.1 实时事务的建模特性 266
12.5.2 实时事务的分类 267
12.5.3 实时事务的特性 267
12.5.4 嵌套实时事务模型 268
12.6 实时事务调度与并发控制 269
12.6.1 实时事务调度 270
12.6.2 实时事务的并发控制 270
12.8 习题 271
12.7 本章小结 271
第1 3章 主动数据库技术 273
13.1 主动数据库的产生 273
13.1.1 实际应用的主动性 273
需求 273
13.1.2 主动数据库简介 274
13.2 主动数据库体系结构 274
13.3 主动数据库的实现途径 275
13.4 主动(ECA)规则 276
13.4.1 ECA规则的构成 276
13.4.2 ECA规则描述 277
13.4.3 事件 278
13.4.4 条件 281
13.5 事件监视器 283
13.4.5 动作 283
13.5.1 事件监视器分类 284
13.5.2 事件监视器实现机制 284
13.6 一个应用实例 285
13.6.1 SIDSS系统的结构 285
13.6.2 事件的形式化表示 286
13.6.3 事件处理器的结构 287
13.7 本章小结 289
13.8 习题 289
第14章 多媒体数据库技术 290
14.1 多媒体数据及主要技术 290
14.1.1 多媒体数据特征 290
14.1.2 多媒体数据主要技术 292
14.2 多媒体数据模型 294
14.2.1 扩充关系数据模型 295
14.2.2 扩充面向对象模型 295
14.2.3 面向对象+关系数据 296
模型 296
14.2.4 超媒体 297
14.3 多媒体数据组成与元数据 297
14.4 多媒体数据库查询 298
14.4.1 多媒体数据库查询例子 298
14.4.2 多媒体数据库的查询 299
类型 299
14.4.3 查询过程的选择 300
14.4.4 多媒体数据库查询 301
语言 301
14.5 多媒体数据库管理系统 302
14.5.1 多媒体数据库视图 303
14.5.2 物理存储视图 304
14.5.3 概念数据视图 304
14.5.4 分布视图 307
14.5.5 过滤视图 307
14.5.6 用户视图 308
14.6 本章小结 308
14.7 习题 309
第15章 数据仓库 310
15.1 数据仓库简介 310
15.1.1 数据仓库的特征 311
15.1.2 操作数据库系统与 312
数据仓库的区别 312
15.1.3 数据仓库类型 313
15.2 数据仓库组织与体系结构 314
15.2.1 数据仓库体系结构 314
15.2.2 数据仓库的数据组织 315
15.2.3 粒度与分割 316
15.2.4 数据仓库的元数据 316
15.3 如何建立数据仓库 317
15.3.1 数据仓库的开发流程 317
15.3.2 数据仓库设计 318
15.3.3 数据抽取模块 319
15.3.4 数据维护模块 320
15.4 数据仓库应用 320
15.4.1 OLAP技术 320
15.4.2 数据挖掘 322
15.6 习题 323
15.5 本章小结 323
第16章 数据库中的协同工作 325
16.1 计算机支持的协同工作 325
16.1.1 CSCW与群件 325
16.1.2 CSCW的三要素 326
16.1.3 CSCW研究内容 326
16.1.4 CSCW应用及分类 328
16.2 基于XML的数据库协同工作 329
16.2.1 XML特点与基本要素 330
16.2.2 XML与关系数据库的 333
结构关系 333
16.3 工作流技术 334
16.3.1 工作流的定义 334
转换中的作用 334
16.2.3 CSCW在异构数据库 334
16.3.2 工作流中的若干概念 335
16.3.3 工作流管理系统的 336
分类 336
16.3.4 工作流管理系统 337
(WFMS) 337
16.3.5 WFMC工作流参考 337
模型 337
16.3.6 主流工作流软件介绍 339
16.4 本章小结 340
16.5 习题 341
第三篇 实践篇 342
第17章 数据库设计实例 342
17.1 需求分析 342
17.2 概念设计 344
17.3 逻辑设计 345
17.4.1 关系模式的存取方法 347
17.4 物理设计 347
17.4.2 数据库的存储结构 348
17.5 安全设计 348
第18章 数据库编程基础 350
18.1 数据库产品的选择 350
18.1.1 数据库产品介绍 350
18.1.2 影响数据库产品选择 351
的因素 351
18.2 数据库系统体系结构的选择 353
18.2.1 集中式模式 354
18.2.2 二层C/S体系结构 355
18.2.3 Web的B/S体系结构 356
结构 357
18.2.4 三层C/S和B/S体系 357
18.2.5 C/S结构与B/S结构 361
的比较 361
18.3 数据库接口标准 362
18.4 数据库访问技术 364
第19章 使用ADO.NET访问数据库 366
19.1 ADO.NET的工作原理 366
19.2 创建连接 373
19.2.1 创建连接 373
19.2.2 Connection的属性 375
19.2.3 Connection的方法 376
19.3 Command和DataReader 376
19.3.1 创建Command对象 377
19.3.2 Command对象的属性 378
DataReader对象 380
19.3.3 Command的方法及 380
19.4 数据适配器DataAdapter对象 381
19.4.1 创建DataAdapter对象 381
19.4.2 DataAdapter的属性 382
19.4.3 DataAdapter的方法 383
19.5 数据集 384
19.5.1 创建数据集 384
19.5.2 数据集的方法 385
19.5.3 数据表及数据行 386
19.6 显示及更新数据库记录 386
19.7 本章小结 395
19.8 习题 395
20.1 实验一 熟悉数据库产品环境 397
第20章 实验 397
20.2 实验二 SQL.语言实验 403
20.2.1 数据库查询环境 403
20.2.2 建立数据库和数据库数据的插入、修改及删除 405
20.2.3 数据查询类的SQL语句 406
的高级功能 406
20.3 实验三 数据库设计 406
20.3.1 规划数据库设计方案 406
20.3.2 数据库设计 407
20.4 实验四 熟悉ADO.NET连接 407
数据库的简单编程 407
20.4.1 ADO.NET工作原理实践 407
20.4.2 ADO.NET工具实践 408
附录 设计工具资源列表 409