第1章 数据库系统概论 1
1.1 数据库技术的发展 1
1.1.1 基本概念 1
1.1.2 数据管理技术的发展 2
1.2 数据库系统的基本概念 7
1.2.1 基本概念 7
1.2.2 数据库与数据库管理系统 9
1.2.3 数据库系统 9
1.2.4 数据库系统的作用 12
1.3 数据模型 13
1.3.1 数据模型概述 13
1.3.2 概念数据模型 14
1.3.3 结构数据模型 16
1.4 数据库系统体系结构 20
1.4.1 数据库三级模式结构 20
1.4.2 数据库的二级映像功能 22
1.4.3 数据库管理系统的功能与特征 23
小结 25
习题 25
第2章 关系数据库 27
2.1 关系数据库概述 27
2.1.1 关系数据库的基本概念 27
2.1.2 关系数据库模式 28
2.1.3 关系的完整性 32
2.2 关系运算(一)——关系代数 33
2.2.1 关系代数的基本概念 33
2.2.2 关系代数的五种基本操作 34
2.2.3 关系代数的其他操作 36
2.3 关系运算(二)——关系演算 38
2.3.1 元组关系演算 38
2.3.2 域关系的演算 39
2.3.3 关系运算的安全约束和等价性 40
2.4 优化查询 40
2.4.1 基本概念 40
2.4.2 关系代数表达式的优化问题 41
2.4.3 优化的策略 41
2.4.4 优化算法 42
小结 42
习题 43
第3章 关系数据库标准语言——SQL 44
3.1 数据库语言 44
3.1.1 数据库语言概述 44
3.1.2 SQL语言概述 44
3.2 数据定义语言 46
3.2.1 创建数据库 46
3.2.2 创建表 48
3.2.3 修改基本表和删除表 49
3.2.4 定义和删除索引 50
3.3 数据查询 51
3.3.1 简单查询 52
3.3.2 复杂查询 56
3.4 数据操纵语言 61
3.4.1 插入数据 61
3.4.2 修改数据 61
3.4.3 删除数据 62
3.5 视图 62
3.5.1 定义视图 63
3.5.2 删除视图 64
3.5.3 查询视图 64
3.5.4 操纵视图 65
3.6 数据控制语言 65
3.6.1 权限的类型 65
3.6.2 授予权限 66
3.6.3 回收权限 67
3.7 SQL语言高级功能 67
3.7.1 约束 67
3.7.2 触发器 68
3.7.3 嵌入式SQL和动态SQL 68
3.7.4 游标 69
小结 69
习题 70
第4章 关系数据理论 72
4.1 概述 72
4.1.1 异常问题 72
4.1.2 关系模式规范化的必要性 74
4.2 函数依赖 75
4.2.1 函数依赖的定义 75
4.2.2 函数依赖和键码 76
4.3 范式与规范化 77
4.3.1 基本概念 77
4.3.2 第一范式(1NF) 78
4.3.3 第二范式(2NF) 80
4.3.4 第三范式(3NF) 81
4.3.5 BC范式(BCNF) 82
4.3.6 多值依赖和4NF 83
4.4 关系模式的分解 86
4.4.1 无损连接 86
4.4.2 保持依赖 89
小结 90
习题 90
第5章 数据库设计 92
5.1 概述 92
5.1.1 数据库设计 92
5.1.2 软件生存期 95
5.1.3 数据库系统生存期 95
5.2 数据库设计的需求分析 96
5.2.1 需求分析的任务和目标 97
5.2.2 需求分析的步骤和方法 98
5.2.3 需求分析阶段的输入和输出 99
5.2.4 需求分析说明书 101
5.3 数据库的概念设计 102
5.3.1 概念设计的必要性 102
5.3.2 概念设计的策略和方法 102
5.3.3 E-R图的基本概念 104
5.3.4 E-R图的主要技术 105
5.3.5 采用E-R方法的概念设计 106
5.4 数据库的逻辑设计 110
5.4.1 逻辑设计的基本概念 110
5.4.2 E-R图向关系模式转换 111
5.4.3 关系模式的规范化 113
5.4.4 确定完整性约束 113
5.4.5 关系视图设计 114
5.5 数据库的物理设计 115
5.5.1 物理设计的步骤 115
5.5.2 确定数据的存储结构 115
5.5.3 确定数据的访问方式 116
5.6 应用程序设计 117
5.7 数据库系统的实现与维护 118
5.7.1 数据库系统的实现 118
5.7.2 数据库系统的运行与维护 119
小结 120
习题 120
第6章 数据库的安全性和完整性 121
6.1 数据库的安全性 121
6.1.1 数据库安全性问题的提出 121
6.1.2 数据库系统中安全措施 121
6.1.3 SQL中的安全机制 124
6.2 数据库完整性 136
6.2.1 数据库完整性的定义 137
6.2.2 完整性约束条件 137
6.2.3 完整性控制 139
6.2.4 完整性规则和完整性策略 139
6.2.5 SQL的完整性约束机制 139
小结 141
习题 142
第7章 事务和并发控制 143
7.1 事务 143
7.1.1 事务的基本概念和性质 143
7.1.2 事务的调度 145
7.1.3 事务并发操作引发的问题 146
7.1.4 事务并发调度的可串行性 147
7.2 并发控制 149
7.2.1 事务的并发控制 149
7.2.2 封锁 149
7.2.3 封锁协议 151
7.2.4 活锁和死锁 156
7.3 SQL Server 2000的并发控制技术 158
小结 159
习题 160
第8章 数据库恢复技术 161
8.1 数据库系统的故障 161
8.2 数据库的备份 163
8.2.1 数据库备份的必要性 167
8.2.2 数据库备份的种类 167
8.2.3 数据库备份计划 168
8.3 数据库的恢复 171
8.3.1 数据库恢复的实现技术 171
8.3.2 恢复策略 172
8.3.3 数据库的恢复与镜像 173
小结 175
习题 175
第9章 网络与数据库 176
9.1 概述 176
9.1.1 网络环境下数据库应用系统的安全问题 176
9.1.2 网络环境下数据库应用系统的体系结构 178
9.1.3 网络环境下的数据库应用规划 180
9.2 分布式数据库 181
9.2.1 分布式数据库的概念 181
9.2.2 分布式数据库的体系结构 183
9.2.3 分布式数据库的查询处理 185
9.2.4 分布式数据库的事务管理 187
9.3 Web数据库 188
9.3.1 Web概述 189
9.3.2 Web数据库技术要点 191
9.3.3 Web数据库应用的构成及一般结构 193
小结 195
习题 195
第10章 数据库技术发展趋势与新技术 196
10.1 数据库技术的发展趋势 196
10.1.1 数据库技术面临的挑战 196
10.1.2 数据库技术的未来 197
10.2 数据库新技术概述 198
10.2.1 数据模型的新特征 198
10.2.2 数据库系统的新特征 199
10.2.3 现代数据库系统的范畴 200
10.2.4 现代数据库主要领域 201
10.2.5 现代数据库实现途径 204
10.3 面向对象数据库 205
10.3.1 概述 205
10.3.2 面向对象数据库系统OODBS的基本特征 206
10.3.3 面向对象数据模型 207
10.3.4 面向对象数据库管理系统OODBMS 209
10.3.5 面向对象数据库系统的基本功能和实现途径 211
10.3.6 对象-关系数据库系统 211
10.4 并行数据库系统 213
10.4.1 并行数据库系统的体系结构 213
10.4.2 并行数据库系统中数据的划分技术 216
10.4.3 并行查询处理技术 217
10.5 数据仓库技术 218
10.5.1 概述 219
10.5.2 数据挖掘和数据中心库 220
10.5.3 数据仓库的体系结构 222
10.5.4 数据仓库的关键技术 222
10.5.5 数据仓库的实现步骤 222
10.6 其他新型的数据库系统 223
10.6.1 多媒体数据库系统 223
10.6.2 主动数据库系统 224
10.6.3 模糊数据库系统 224
小结 225
习题 226
第11章 主要数据库产品 227
11.1 ORACLE数据库 227
11.1.1 ORACLE系统概述 227
11.1.2 数据库和实例的启动和关闭 229
11.1.3 数据字典 230
11.2 DB2数据库 231
11.2.1 DB2数据库的特点 231
11.2.2 DB2的安装类型和软硬件要求 233
11.2.3 DB2控制中心 234
11.3 SQL Server数据库 235
11.3.1 SQL Server 2000主要特点 235
11.3.2 SQL Server 2000版本及环境需求 236
11.3.3 SQL Server 2000完整的管理工具集 238
小结 240
习题 240
第12章 数据库开发工具 241
12.1 Delphi/SQL Server数据库开发 241
12.1.1 Delphi简介 241
12.1.2 通过Delphi访问SQL Server数据库 242
12.1.3 开发实例 249
12.2 PowerBuilder/SQL Server数据库开发 257
12.2.1 PowerBuilder简介 257
12.2.2 通过PowerBuilder访问SQL数据库 258
12.2.3 开发实例 268
12.3 Visual BASIC/SQL Serer数据库开发 277
12.3.1 Visual BASIC简介 277
12.3.2 通过Visual BASIC访问SQL Server 278
12.3.3 开发实例 284
小结 293
习题 293
实验 294
实验1 SQL Server的安装及其管理工具的使用 294
实验2 创建数据库及基本表 296
实验3 修改基本表、索引的创建与删除 305
实验4 数据查询 313
实验5 视图的定义与操作 315
实验6 数据控制操作 318
参考文献 321