第1章 数据库系统概述 1
1.1 数据库技术的产生和发展 1
1.1.1 数据管理的发展 1
第1部分 基础篇 1
1.1.2 数据库系统的特征 4
1.1.3 数据库技术的应用与发展 5
1.2 数据库系统 5
1.2.1 数据库系统的组成结构 5
1.2.2 数据库、数据模型与数据模式 6
1.3 数据库管理系统 9
1.3.1 DBMS概述 9
1.3.2 DBMS结构 10
1.3.3 DBMS进程结构 12
1.3.4 数据目录 15
习题 16
2.1 基本概念 17
2.1.1 概述 17
第2章 关系模型 17
2.1.2 关系的定义 18
2.1.3 关系的完整性 21
2.2 关系代数 22
2.2.1 传统的集合运算 23
2.2.2 专门的关系运算 24
2.2.3 关系代数查询实例 28
2.3.1 元组关系演算 29
2.3 关系演算 29
2.3.2 域关系演算 32
习题 33
第3章 关系数据库语言SQL 35
3.1 SQL语言概述 35
3.2 SQL语言的数据定义功能 37
3.2.1 基本表的建立 37
3.2.2 基本表的修改与删除 40
3.2.3 索引的建立和删除 41
3.3 SQL语言数据操纵功能 42
3.2.4 模式的建立和删除 42
3.3.1 SQL数据查询 43
3.3.2 SQL数据插入 53
3.3.3 SQL数据删除 55
3.3.4 SQL数据修改 55
3.4 视图 56
3.4.1 视图的定义和删除 56
3.4.2 视图的查询 58
3.4.3 视图的更新 59
3.4.4 视图的应用 60
3.5 SQL语言的数据控制功能 61
3.5.1 权限与角色 61
3.5.2 权限的授予和收回 62
3.6 嵌入式SQL 63
3.6.1 嵌入式SQL概述 63
3.6.2 嵌入式SQL数据库访问过程 64
3.6.3 不使用游标的嵌入式SQL语句 65
3.6.4 使用游标的嵌入式SQL语句 67
3.6.5 动态SQL语句 69
习题 70
第2部分 设计篇 72
第4章 数据依赖与关系模式规范化 72
4.1 问题的提出 72
4.2 数据依赖 74
4.2.1 函数依赖 75
4.2.2 多值依赖 80
4.3 关系模式分解 81
4.3.1 无损连接分解 81
4.3.2 保持函数依赖分解 84
4.4 关系模式规范化 84
4.4.1 范式 85
4.4.2 规范化算法 87
习题 89
5.1.1 数据库系统生命周期 92
5.1 数据库设计概述 92
第5章 数据库设计 92
5.1.2 数据库设计方法和步骤 93
5.2 需求分析 95
5.3 概念设计 96
5.3.1 E-R模型简介 97
5.3.2 E-R设计方法 102
5.4 逻辑设计 111
5.4.1 E-R模型转换 111
5.4.2 优化与调整 114
5.5 物理设计 116
5.5.1 存储结构概述 116
5.5.2 存储结构与存取方式设计 118
5.6 IDEF设计方法简介 121
5.7 计算机辅助数据库设计 124
5.8 数据库运行与维护 125
习题 128
6.1.1 磁盘存储器 129
6.1 物理存储设备 129
第3部分 系统篇 129
第6章 存储结构 129
6.1.2 磁带存储器 131
6.1.3 磁盘缓冲处理 131
6.1.4 第三级存储 132
6.2 文件和文件记录 132
6.3 无序文件 133
6.4 顺序文件 134
6.5 索引文件 135
6.5.1 索引的基本结构 135
6.5.2 主索引 135
6.5.3 聚簇索引 137
6.5.4 辅助索引 138
6.5.5 多级索引 139
6.5.6 索引的评价标准 140
6.6.1 索引树 141
6.6 B树与B+树索引 141
6.6.2 B树索引 142
6.6.3 B+树索引 144
6.7 散列文件 147
6.7.1 简单散列方法 148
6.7.2 散列函数 148
6.7.3 散列文件的操作 149
6.7.4 溢出处理 150
6.7.5 动态散列方法 150
习题 151
第7章 查询处理与查询优化 153
7.1 引言 153
7.1.1 查询处理 153
7.1.2 查询优化分类 155
7.1.3 一个启发性的例子 156
7.2 代数优化 157
7.2.2 代数优化的等价变换规则 158
7.2.1 代数优化的基本原则 158
7.2.3 代数优化策略 160
7.2.4 代数优化算法 161
7.3 物理优化 165
7.3.1 选择 165
7.3.2 连接 167
7.3.3 投影 171
7.3.4 集合运算 172
习题 175
第8章 事务管理 176
8.1 事务 176
8.1.1 事务的概念 176
8.1.2 事务的性质 178
8.1.3 事务的操作 179
8.1.4 事务的状态 179
8.1.5 SQL的事务管理 180
8.2 数据库故障分类 182
8.3.1 数据转储 183
8.3 数据库恢复技术 183
8.3.2 日志文件 184
8.3.3 恢复策略 186
8.4 事务的并发控制 188
8.4.1 并发引起的问题 189
8.4.2 事务调度及可串行性 191
8.5 基于锁的并发控制 196
8.5.1 封锁协议 196
8.5.2 两阶段封锁协议 199
8.5.3 活锁与死锁 200
8.5.4 封锁粒度 203
8.5.5 插入和删除操作 206
8.6 其他并发控制技术 207
8.6.1 基于时间标记的并发控制 207
8.6.2 乐观并发控制 208
习题 210
9.2 数据库的完整性 212
9.1 引言 212
第9章 数据库完整性与安全性 212
9.2.1 数据库完整性约束分类 213
9.2.2 完整性约束条件 213
9.2.3 DBMS的完整性控制 215
9.2.4 完整性约束的说明 218
9.3 数据库的安全性 221
9.3.1 访问控制 222
9.3.2 视图机制 227
9.3.3 数据加密 228
9.3.4 数据库审计 229
习题 230
第10章 分布式数据库系统 231
10.1 概述 231
10.1.1 分布式数据库的由来与发展 231
10.1.2 分布式数据库系统的特点 231
10.1.3 分布式数据库系统的组成 232
10.1.4 分布式数据库系统中存在的问题 233
10.2 分布式数据库系统的模式结构 235
10.3 分布式查询处理和优化 236
10.3.1 分布式查询优化的目标和准则 236
10.3.2 分布式查询的分类 237
10.3.3 分布式查询处理的层次结构 238
10.4 分布式事务 240
10.5 联邦数据库和多数据库系统 241
10.5.1 联邦数据库系统的基本功能 241
10.5.2 联邦数据库系统的数据共享 241
10.5.3 联邦数据库系统存在的问题 243
10.5.4 多数据库系统 243
习题 246
第11章 数据库访问技术 247
11.1 数据库访问方式 247
11.1.1 数据库应用程序的组成部分 247
11.1.2 主机终端系统 248
11.1.3 基于网络的C/S系统结构 249
11.2 中间件 253
11.2.1 中间件的定义 253
11.1.4 基于Web的B/S结构 253
11.2.2 中间件的作用 254
11.3 SQL/CLI 255
11.3.1 SQL/CLI的由来和发展 255
11.3.2 SQL/CLI基本原理和方法 255
11.3.3 SQL/CLI应用编程 257
11.4.1 ODBC的由来和发展 263
11.4 ODBC 263
11.4.2 ODBC的体系结构 264
11.4.3 ODBC的特性 269
习题 269
第4部分 新技术篇 271
第12章 面向对象数据库与对象关系数据库 271
12.1 引言 271
12.2.2 对象 273
12.2.1 面向对象方法的基本特征 273
12.2 面向对象的基本概念 273
12.2.3 对象结构 274
12.2.4 消息 276
12.2.5 类 277
12.2.6 继承 277
12.2.7 动态联编 279
12.2.8 对象组合 279
12.3 面向对象的数据模型 280
12.3.1 基本特征 280
12.3.2 基本模型 281
12.4 持久化程序设计语言 284
12.4.1 对象的持久性 285
12.4.2 对象标识和指针 286
12.4.3 持久对象的存储和访问 286
12.5 对象-关系数据模型 287
12.5.2 嵌套关系 289
12.5.1 关系数据模型扩充 289
12.5.3 组合类型 291
12.5.4 聚集类型 292
12.5.5 引用类型 294
12.5.6 对象类型 295
12.6 ORDB定义语言 296
12.6.1 数据类型定义 296
12.6.2 继承的定义 299
12.7.2 路径表达式 301
12.7 ORDB查询语言 301
12.7.1 以关系为值的属性 301
12.7.3 嵌套与解除嵌套 302
12.7.4 函数的定义和使用 303
12.7.5 复合值的创建和查询 304
习题 305
第13章 Internet环境下的数据库技术 306
13.1 网络基本概念 306
13.1.1 网络协议模型 306
13.1.2 Internet与WWW 308
13.2 WWW与数据库访问接口 311
13.2.1 公共网关接口CGI 312
13.2.2 ASP技术 313
13.2.3 JSP技术 316
13.2.4 PHP技术 317
13.3 Java和JDBC 319
13.3.1 Java简介 319
13.3.2 JDBC的提出 320
13.3.3 JDBC的基本功能 320
13.3.4 JDBC数据库应用模型 321
13.3.5 JDBC驱动程序 322
13.3.6 JDBC API 323
13.3.7 JDBC应用程序的流程 325
13.4 XML技术 327
13.4.1 XML概述 327
13.4.2 XML查询语言——XQuery 330
13.4.3 基于关系数据库的XML处理 335
习题 341
第14章 数据仓库与数据挖掘 343
14.1 概述 343
14.1.1 数据管理的层次结构 343
14.1.2 数据仓库的产生 344
14.1.3 从数据仓库到数据挖掘 344
14.2 数据仓库 345
14.2.1 概述 345
14.2.2 数据仓库的建立——数据模型、数据模式 348
14.2.3 OLAP技术 351
14.3 数据挖掘 355
14.3.1 概述 355
14.3.2 数据挖掘的过程 357
14.3.3 数据挖掘的基本方法 360
14.3.4 复杂数据类型的挖掘 370
习题 376
主要参考文献 377