第1章 数据库技术概述 1
学习目标 1
1.1 数据库的作用及相关概念 1
1.1.1 数据与信息 2
1.1.2 数据管理与数据库 3
1.1.3 数据库管理系统与管理信息系统 5
1.2 数据管理技术的发展 6
1.2.1 手工管理阶段 7
1.2.2 文件系统阶段 7
1.2.3 数据库系统阶段 9
1.3 数据库系统结构 11
1.3.1 数据库体系结构 11
1.3.2 数据库系统的组成 16
1.3.3 数据库应用系统体系结构 21
1.4 数据模型 25
1.4.1 概述 25
1.4.2 层次数据模型 27
1.4.3 网状数据模型 29
1.4.4 关系数据模型 31
1.4.5 面向对象数据模型 33
小结 34
习题1 35
案例1 35
第2章 关系数据库 37
学习目标 37
2.1 关系模型 37
2.1.1 关系数据结构 37
2.1.2 关系操作 38
2.1 3 完整性约束 39
2.2 关系模式 41
2.2.1 关系概念模式 41
2.2.2 关系内模式 43
2.2.3 关系外模式 43
2.3 关系代数 43
2.3.1 传统的集合运算 43
2.3.2 特殊的关系运算 45
2.4 关系数据库规范化理论 48
2.4.1 关系模式规范化的必要性 48
2.4.2 数据依赖 49
2.4.3 范式与规范化 51
2.4.4 关系分解原则 57
小结 60
习题2 60
案例2 63
第3章 关系数据库的标准语言SQL 65
学习目标 65
3.1 SQL概述 65
3.1.1 SQL的发展历程 65
3.1.2 SQL的组成与功能 66
3.1.3 SQL语言的特点 66
3.1.4 SQL基本知识 68
3.2 数据定义语言 73
3.2.1 数据库 73
3.2.2 表 75
3.2.3 索引 83
3.2.4 视图 88
3.2.5 存储过程 92
3.3 数据更新语言 94
3.3.1 插入数据 95
3.3.2 修改数据 97
3.3.3 删除数据 99
3.4 数据查询语言 99
3.4.1 SELECT语句 100
3.4.2 单表查询 101
3 4.3 连接查询 103
3.4.4 嵌套查询 108
3.4.5 集合查询 112
3 4.6 函数查询 114
3.5 数据控制语言 116
3.5.1 数据控制方法 116
3.5.2 数据控制语句 117
3.5.3 事务控制语句 119
3.6 嵌入式SQL 120
3.6.1 嵌入式SQL的形式及处理过程 121
3.6.2 SQL与宿主语言间的通信 122
3.6.3 嵌入式SQL的实现 123
3.6.4 游标 124
3.6.5 动态SQL 127
小结 127
习题3 128
案例3 130
实验 131
第4章 关系数据库设计 133
学习目标 133
4.1 概念模型 133
4.1.1 信息的三个世界 134
4.1.2 概念模型的基本概念 135
4.1.3 实体联系方法 138
4.1.4 E-R模型的设计问题 141
4.1.5 E-R模型的扩充 145
4.2 数据库设计步骤 148
4.2.1 需求分析 148
4.2.2 概念结构设计 151
4.2.3 逻辑结构设计 154
4.2.4 物理设计 159
4.2.5 数据库实施 160
4.2.6 数据库运行和维护 161
4.3 网络环境下的数据库应用规划 162
4.3.1 需求分析 162
4.3.2 安全问题 162
4.3.3 体系结构 164
4.3.4 系统平台的选择 165
小结 166
习题4 167
案例4 167
实验 168
第5章 数据库保护 169
学习目标 169
5.1 数据库完整性 169
5.1.1 完整性约束的定义 170
5.1.2 完整性约束的检查和处理 173
5.2 数据库安全性 175
5.2.1 用户验证 176
5.2.2 存取控制 176
5.3 数据库并发控制 179
5.3.1 事务 179
5.3.2 事务的串行调度、并发调度及其可串行化 181
5.3.3 事务并发执行所带来的问题 183
5.3 4 封锁 184
5.4 数据库恢复 189
5.4.1 数据库系统的故障 189
5.4.2 基于日志文件的数据恢复技术 190
5 4.3 数据转储及介质故障的恢复 193
5.4.4 检查点方法 195
小结 197
习题5 197
案例5 197
第6章 面向对象数据库及对象-关系数据库 199
学习目标 199
6.1 面向对象数据库系统简介 199
6.1.1 面向对象方法学的特点 199
6.1.2 面向对象数据库系统的概念 200
6.1.3 问题与局限性 200
6.2 面向对象数据模型概念 201
6.2.1 对象 201
6.2.2 类 202
6.2.3 消息 203
6.2.4 继承 203
6.3 面向对象数据库 204
6.3.1 面向对象数据库系统概述 204
6.3.2 面向对象数据库系统的基本特征 205
6.3.3 面向对象数据库管理系统 211
6.3.4 面向对象数据库系统的基本功能和实现途径 215
6.4 对象-关系数据库系统 216
6.4.1 特点 216
6.4.2 对象-关系数据库技术 217
6.4.3 对象-关系数据库系统与产品 219
6.5 面向对象数据库与对象-关系数据库的比较 221
小结 222
习题6 223
第7章 C/S数据库和Web数据库 224
学习目标 224
7.1 C/S体系结构 224
7.1.1 C/S结构 224
7.1.2 C/S结构的主要技术特征 226
7.1.3 C/S结构的组成 226
7 1.4 三层C/S结构 227
7.2 C/S数据库技术 230
7.2.1 C/S数据库技术概述 230
7.2.2 C/S结构的数据库系统 236
7.3 Web数据库与应用 239
7.3.1 Web数据库的分类 239
7.3.2 Web数据库技术要点 241
7.3.3 Web数据库应用的构成及一般结构 242
小结 247
习题7 248
案例7 248
实验 249
第8章 开放的客户端开发及主流数据库产品 250
学习目标 250
8.1 开放式客户体系结构 250
8 1.1 ODBC 250
8.1.2 JDBC 252
8.2 面向网络的Java编程语言 255
8.2.1 Java出现的背景 255
8.2.2 Java语言对软件开发技术的影响 255
8.2.3 Java语言的应用前景 256
8.2.4 Java的数据库应用开发展望 256
8.3 用Delphi开发数据库应用系统 257
8.3.1 Delphi概述 257
8.3.2 Delphi的数据库特性 257
8.3.3 Delphi数据库的体系结构 258
8.3.4 数据访问部件 258
8.3.5 数据控制部件 259
8.3.6 数据库窗体专家和数据库操作台 259
8.4 用PowerBuilder开发数据库应用 260
8.4.1 PowerBuilder的特点 260
8.4.2 PowerBuilder数据库管理 261
8.4.3 PowerBuilder的事务处理 262
8.5 SQL Server2000 263
8.5.1 SQLServer 2000的发展历程 263
8.5.2 SQL Server 2000概述 264
8.5.3 SQL Server 2000的特性 265
8.5.4 SQLServet基本工具 266
8.5.5 使用SQLServer 2000的电子商务 268
8.6 Oracle数据库 270
8.6.1 Oracle数据库系统的特点 270
8.6.2 Oracle的存储结构 271
8.6.3 Oracle的分布式数据库管理 272
8.6.4 Oracle与SQL Servet 2000的比较 272
8.7 Informix数据库 276
8.7.1 Informix数据库管理 276
8.7.2 Internet上的Informix数据库 277
小结 280
习题8 280
案例8 281
实验 281
第9章 数据库技术的发展 283
学习目标 283
9.1 数据库系统的三个发展阶段 283
9.1.1 第一代的数据库系统——层次和网状数据库系统 283
9.1.2 第二代数据库系统——关系数据库系统 284
9.1.3 新一代数据库系统 285
9.2 数据仓库 285
9.2.1 数据仓库的概念 285
9.2.2 数据集市 289
9.2.3 数据仓库的系统结构 291
9.2.4 数据仓库的关键技术 294
9.2.5 数据挖掘 295
9.3 分布式数据库系统 296
9.3.1 分布式数据库系统概述 296
9.3.2 分布式数据库系统的模式结构 297
9.3.3 分布式数据库管理系统 298
9.3.4 数据分布 298
9.3.5 分布透明性 300
9.4 并行数据库系统 302
9.4.1 并行数据库系统体系结构 302
9.4.2 并行数据库系统中数据的划分技术 304
9.4.3 并行查询处理技术 305
9.5 其他新型的数据库系统 309
9.5.1 多媒体数据库系统 309
9.5.2 模糊数据库系统 309
9.5.3 主动数据库系统 309
小结 310
习题9 311
案例9 311
附录 312
参考文献及网站 316