前言页 1
第1部分 基础篇 1
第1章 数据库发展史 1
1.1 数据管理技术的发展 1
1.1.1 人工管理阶段 2
1.1.2 文件系统阶段 2
1.1.3 文件系统的缺陷 3
1.1.4 倒排文件系统阶段 3
1.2 数据库技术的产生和发展 4
1.2.1 数据库技术的产生 4
1.2.2 数据库阶段的数据管理特点 5
1.2.3 数据库技术的术语 7
1.2.4 数据库技术的发展 8
小结 9
习题1 9
第2章 数据库系统结构 11
2.1 数据描述 11
2.1.1 概念设计中的数据描述 11
2.1.2 逻辑设计中的数据描述 11
2.1.3 存储介质层次及数据描述 12
2.1.4 数据联系的描述 13
2.2.1 数据模型的定义 15
2.2 数据模型 15
2.2.2 实体联系模型 16
2.2.3 层次模型 17
2.2.4 网状模型 19
2.2.5 关系模型 20
2.2.6 面向对象模型 21
2.3 数据库的体系结构 22
2.3.1 三级模式结构 22
2.3.2 三级结构和两级映象 24
2.3.3 两级数据独立性 25
2.3.4 用户及用户界面 25
2.4.1 DBMS(数据库管理系统)的工作模式 26
2.4 数据库管理系统 26
2.4.2 DBMS的主要功能 27
2.4.3 DBMS的模块组成 28
2.5 数据库系统 28
2.5.1 DBS的组成 28
2.5.2 DBS的全局结构 30
2.5.3 DBS结构的分类 32
2.5.4 DBS的效益 34
小结 34
习题2 35
3.1 关系数据模型 36
3.1.1 关系数据模型的定义 36
第3章 关系运算 36
第2部分 运算篇 36
3.1.2 关键码和表之间的联系 38
3.1.3 关系模式、关系子模式和存储模式 38
3.1.4 关系模型的完整性规则 41
3.1.5 关系模型的形式定义 42
3.2 关系代数 43
3.2.1 关系查询语言和关系运算 43
3.2.2 关系代数的五个基本操作 43
3.2.3 关系代数的组合操作 46
3.2.4 关系代数表达式及其应用实例 48
3.2.5 扩充的关系代数操作 50
3.3 关系演算 51
3.3.1 元组关系演算 52
3.3.2 域关系演算 53
3.3.3 关系运算的安全性和等价性 54
3.4 查询优化 55
3.4.1 关系代数表达式的优化问题 55
3.4.2 关系代数表达式的等价变换规则 56
3.4.3 优化的一般策略 58
3.4.4 优化算法 59
小结 63
习题3 63
4.1.2 SQL数据库的体系结构 65
4.1.1 SQL的发展历程 65
4.1 SQL概述 65
第4章 结构化查询语言SQL 65
4.1.3 SQL的组成 66
4.2 SQL的数据定义 67
4.2.1 SQL模式的创建和撤消 67
4.2.2 SQL提供的基本数据类型 68
4.2.3 基本表的创建、修改和撤消 68
4.2.4 视图的创建和撤消 71
4.2.5 索引的创建和撤消 71
4.3 SQL的数据查询 72
4.3.1 SELECT语句格式 73
4.3.2 单表查询 73
4.3.3 多表查询 77
4.3.4 聚合函数 80
4.3.5 数据分组 81
4.3.6 集合操作 82
4.4 SQL的数据更新 86
4.4.1 数据插入 86
4.4.2 数据删除 87
4.4.3 数据修改 87
4.4.4 对视图的更新操作 88
4.5 嵌入式SQL 89
4.5.1 SQL语言的运行环境 89
4.5.2 嵌入式SQL的使用规定 90
4.5.3 嵌入式SQL的使用技术 91
4.5.4 动态SOL语句 94
小结 95
习题4 96
第3部分 设计篇 99
第5章 规范化设计 99
5.1 关系模式的设计问题 99
5.1.1 关系模型的外延和内涵 99
5.1.2 泛关系模式与数据库模式 99
5.1.3 关系模式的冗余和异常问题 100
5.1.4 本章的符号规定 101
5.2 函数依赖 101
5.2.2 FD的逻辑蕴涵 102
5.2.1 函数依赖的定义 102
5.2.3 FD的推理规则 103
5.2.4 FD和关键码的联系 104
5.2.5 属性集的闭包 104
5.2.6 FD集的最小依赖集 105
5.3 关系模式的分解特性 105
5.3.1 模式分解问题 105
5.3.2 无损分解 106
5.3.3 无损分解的测试方法 108
5.3.4 保持函数依赖的分解 109
5.3.5 模式分解与模式等价问题 110
5.4.1 第一范式(INF) 111
5.4.2 第二范式(2NF) 111
5.4 关系模式的范式 111
5.4.3 第三范式(3NF) 112
5.4.4 BCNF(Boyce-Codd NF) 113
5.4.5 分解成BCNF模式集的方法 114
5.4.6 分解成3NF模式集的方法 114
5.4.7 模式设计方法的原则 114
5.5 模式的进一步规范化 115
5.5.1 多值依赖的定义 115
5.5.2 关于FD和MVD的推理规则集 116
5.5.3 第四范式(4NF) 117
5.5.4 联接依赖 117
5.5.5 第五范式(5NF) 118
习题5 119
小结 119
第6章 实体联系模型 122
6.1 ER模型的基本元素 122
6.2 属性的分类 123
6.2.1 基本属性和复合属性 123
6.2.2 单值属性和多值属性 124
6.2.3 导出属性 125
6.2.4 空值属性 126
6.3 联系的设计 126
6.3.1 联系的元数 126
6.3.2 联系的连通词 126
6.4.1 依赖联系与弱实体 130
6.3.3 联系的基数 130
6.4 ER模型的扩充 130
6.4.2 超类和子类 131
6.4.3 演绎和归纳 132
6.5 ER模型实例分析 133
小结 139
习题6 139
第7章 数据库设计 141
7.1 数据库设计概述 141
7.1.1 软件生存期 141
7.1.2 数据库系统生存期 142
7.1.3 数据库设计的具体步骤 143
7.2 规划 144
7.3 需求分析 145
7.3.1 需求描述与分析 145
7.3.2 需求分析阶段的输入和输出 146
7.3.3 需求分析的步骤 146
7.4 概念设计 150
7.4.1 概念设计的必要性 150
7.4.2 概念模型 151
7.4.3 概念设计的主要步骤 152
7.4.4 数据抽象 152
7.4.5 ER模型的操作 154
7.4.6 采用ER方法的数据库概念设计 156
7.5.1 逻辑设计环境 163
7.5 逻辑设计 163
7.5.2 逻辑设计的步骤 164
7.5.3 ER模型向关系模型的转换 165
7.5.4 关系数据库的逻辑设计 168
7.6 物理设计 170
7.7 数据库的实现 171
7.8 数据库的运行与维护 171
小结 171
习题7 172
8.1.1 定长记录 173
8.1 文件组织 173
第8章 存储技术 173
第4部分 管理篇 173
8.1.2 变长记录 175
8.2 文件结构 178
8.2.1 四种文件结构 178
8.2.2 顺序文件 178
8.2.3 聚集文件 180
8.3 索引技术 181
8.3.1 索引机制 181
8.3.2 有序索引的分类 181
8.3.3 主索引 181
8.3.4 辅助索引 184
8.3.5 B+树索引文件 185
8.3.6 B树索引文件 191
8.4 散列技术 192
8.4.1 散列机制 192
8.4.2 散列索引 195
8.4.3 静态散列中的问题 196
8.4.4 可扩充散列结构 196
8.5 多键访问 200
8.5.1 单键查询的问题 200
8.5.2 网格文件 201
8.5.3 分区散列技术 202
习题8 203
小结 203
第9章 数据库的管理 206
9.1 事务的概念 206
9.1.1 事务的定义 206
9.1.2 事务的ACID性质 206
9.2 数据库的恢复 208
9.2.1 恢复的定义、原则和方法 208
9.2.2 故障类型和恢复方法 209
9.2.3 检查点机制 209
9.3 数据库的并发控制 211
9.3.1 并发操作带来的三个问题 211
9.2.4 运行记录优先原则 211
9.2.5 SQL对事务的支持 211
9.3.2 封锁机制 214
9.3.3 活锁和死锁 216
9.3.4 并发调度的可串行化 217
9.3.5 SQL中事务的存取模式和隔离级别 218
9.4 数据库的完整性 219
9.4.1 完整性子系统和完整性规则 219
9.4.2 SQL中的完整性约束 219
9.4.3 SQL3中的触发器 223
9.5.1 安全性级别 225
9.5.2 权限 225
9.5 数据库的安全性 225
9.5.3 SQL中的安全性机制 226
9.5.4 数据加密 227
9.5.5 自然环境的安全性 228
小结 228
习题9 229
第5部分 网络篇 231
第10章 客户机/服务器系统 231
10.1 “分布计算”概念 231
10.2 客户机/服务器计算模式 233
10.2.1 C/S结构的工作模式 233
10.2.2 C/S环境下应用成分的分布 233
10.2.3 C/S主要技术特征 234
10.3.1 C/S模式的体系结构 235
10.3 C/S系统的体系结构 235
10.3.2 C/S结构的演变 236
10.3.3 网络服务器的类型 238
10.4 C/S系统的管理问题 239
10.4.1 C/S系统的并行处理与并发控制 239
10.4.2 C/S系统的完整性 240
10.4.3 两类DBMS的出现 240
小结 241
习题10 241
11.1 DDBS概述 242
11.1.1 集中式系统与分布式系统 242
第11章 分布式数据库系统 242
11.1.2 DDBS的定义 243
11.1.3 DDBS的特点 244
11.1.4 DDBS的优缺点 245
11.1.5 DDBS的分类 246
11.2 分布式数据存储 247
11.2.1 数据分片 247
11.2.2 数据分配 248
11.3 DDB的模式结构 249
11.3.1 六层模式结构 250
11.3.2 六层结构的特征 251
11.3.3 分布透明性 251
11.4.1 DDBS的组成 253
11.4 DDBMS的功能及组成 253
11.4.2 DDBMS的功能 254
11.4.3 DDBMS的组成 254
11.5 分布式查询处理 255
11.5.1 查询代价的估算方法 255
11.5.2 基于半联接的优化策略 256
11.5.3 基于联接的优化策略 257
小结 258
习题11 259
12.1.1 中间件的定义 260
12.1.2 中间件的作用 260
12.1 中间件 260
第12章 ODBC技术 260
12.2 ODBC概念和作用 261
12.3 ODBC的结构 262
12.3.1 ODBC的体系结构 262
12.3.2 应用程序 263
12.3.3 驱动程序管理器 263
12.3.4 DBMS驱动程序 263
12.3.5 ODBC的数据源管理 266
12.4 ODBC接口 266
12.4.1 ODBC应用程序的基本流程 266
12.4.2 ODBC句柄 267
12.4.3 ODBC连接 269
12.4.4 SQL语句的执行 269
12.4.5 光标函数的使用 271
12.5.1 API符合性的三个级别 272
12.5 ODBC的符合性级别 272
12.5.2 SQL符合性的三个级别 273
12.6 ODBC API与SQL CLI 274
12.7 典型的数据库应用系统开发工具 274
12.7.1 PowerBuilder 275
12.7.2 Delphi 276
12.7.3 Visual Basic 276
12.7.4 Developer/2000 277
小结 278
习题12 278
13.1 对象联系图 280
13.1.1 从关系到嵌套关系、复合关系 280
第6部分 发展篇 280
第13章 对象关系数据库 280
13.1.2 引用类型 282
13.1.3 对象联系图的成分 282
13.1.4 数据的泛化/细化 284
13.2 ORDB的定义语言 284
13.2.1 ORDB的定义 285
13.2.2 数据类型的定义 285
13.2.3 继承性的定义 286
13.2.4 引用类型的定义 288
13.3.2 路径表达式 289
13.3 ORDB的查询语言 289
13.3.1 以关系为值的属性 289
13.3.3 嵌套与解除嵌套 290
小结 291
习题13 292
第14章 面向对象数据库 294
14.1 面向对象数据库系统概述 294
14.1.1 ODMG组织和标准 294
14.1.2 OODBS的概念 295
14.1.3 OODBS存在的问题和局限性 295
14.2.1 对象 296
14.2.2 类 296
14.2 面向对象数据模型的基本概念 296
14.2.3 继承性 297
14.2.4 对象标识 298
14.2.5 对象包含 299
14.3 持久化程序设计语言 299
14.3.1 持久化语言与嵌入式语言的区别 299
14.3.2 持久化语言的基本概念 300
14.4 持久化C++系统 301
14.4.1 ODMG C++对象定义语言 301
14.4.2 ODMG C++对象操纵语言 303
14.5 OODB与ORDB的比较 303
小结 304
习题14 305
第7部分 应用篇 306
第15章 PowerBuilder 7.0数据库应用开发简介 306
15.1 PowerBuilder 7.0集成开发环境 306
15.1.1 开发工具和集成开发环境 306
15.1.2 使用画板 309
15.2 一个完整的实例 309
15.2.1 规划 310
15.2.2 创建数据库 312
15.2.3 连接数据库 316
15.2.4 创建表和数据操作 319
15.2.5 建立应用 323
15.2.6 建立数据窗口 324
15.2.7 建立窗口 331
15.2.8 运行应用程序 338
15.2.9 创建另外两个窗口 339
15.2.10 添加菜单 341
15.3 PowerScript编程语言 345
15.3.1 基本语法规则 345
15.3.2 运算符和数据类型 346
15.3.3 变量及其作用域 347
15.3.4 实例变量(Instance)的访问权限 347
15.3.5 变量 347
15.3.6 数组 348
15.3.8 代词 349
15.3.7 函数 349
15.3.9 语句 350
第16章 SQL Server 7.0简介 353
16.1 SQL Server简介 353
16.1.1 SQL Server的发展 353
16.1.2 SQL Server7.0的特点 354
16.1.3 安装SQL Server 7.0的软硬件需求 354
16.1.4 SQL Server 7.0的安装 355
16.1.5 SQL Server 7.0环境介绍 355
16.1.6 SQL Server 7.0的工具介绍 357
16.2 数据库的创建、修改与删除 360
16.2.1 创建SQL Server数据库 360
16.2.2 修改数据库 362
16.2.3 删除数据库 363
16.3 表的建立 363
16.3.1 创建表 363
16.3.2 创建主键 363
16.4 数据库的备份和恢复 364
16.4.1 数据库的备份 364
16.4.2 数据库的恢复 366
16.5 高级应用技术 367
16.5.1 存储过程 367
16.5.2 触发器 371
参考文献 376