第一篇 基础篇 3
第一章 绪论 3
1.1 数据库系统概述 3
1.1.1 数据、数据库、数据库管理系统、数据库系统 3
1.1.2 数据管理技术的产生和发展 6
1.1.3 数据库系统的特点 9
1.2 数据模型 13
1.2.1 数据模型的组成要素 14
1.2.2 概念模型 15
1.2.3 最常用的数据模型 21
1.2.4 层次模型 22
1.2.5 网状模型 27
1.2.6 关系模型 30
1.3 数据库系统结构 33
1.3.1 数据库存系统模式的概念 33
1.3.2 数据库系统的三级模式结构 33
1.3.3 数据库的二级映象功能与数据独立性 35
1.4 数据库系统的组成 36
1.5 数据库技术的研究领域 39
1.6 小结 40
习题 41
本章参考文献 42
第二章 关系数据库 45
2.1 关系模型概述 45
2.2 关系数据结构及形式化定义 47
2.2.1 关系 47
2.2.2 关系模式 51
2.2.3 关系数据库 52
2.3 关系的完整性 52
2.4 关系代数 55
2.4.1 传统的集合运算 56
2.4.2 专门的关系运算 58
2.5 关系演算 64
2.5.1 元组关系演算语言ALPHA 64
2.5.2 元组关系演算 69
2.5.3 域关系演算语言QBE 72
2.5.4 域关系演算 78
2.6 小结 79
习题 80
本章参考文献 82
第三章 关系数据库标准语言SQL 84
3.1 SQL概述 84
3.1.1 SQL的特点 85
3.1.2 SQL语言的基本概念 86
3.2 数据定义 87
3.2.1 定义、删除与修改基本表 88
3.2.2 建立与删除索引 90
3.3 查询 91
3.3.1 单表查询 92
3.3.2 连接查询 101
3.3.3 嵌套查询 106
3.3.4 集合查询 114
3.3.5 SELECT语句的一般格式 115
3.4 数据更新 117
3.4.1 插入数据 117
3.4.2 修改数据 118
3.5.1 定义视图 121
3.5 视图 121
3.5.2 查询视图 125
3.5.3 更新视图 126
3.5.4 视图的作用 128
3.6 数据控制 129
3.6.1 授权 130
3.6.2 收回权限 132
3.7.1 嵌入式SQL的一般形式 133
3.7 嵌入式SQL 133
3.7.2 嵌入式SQL语句与主语言之间的通信 134
3.7.3 不用游标的SQL语句 137
3.7.4 使用游标的SQL语句 141
3.7.5 动态SQL简介 146
3.8 小结 148
习题 148
本章参考文献 149
4.1.1 关系系统的定义 151
4.1 关系系统 151
第四章 关系系统及其查询优化 151
4.1.2 关系系统的分类 152
4.1.3 全关系系统的十二条基本准则 153
4.2 关系数据库系统的查询优化 157
4.2.1 关系系统及其查询优化 157
4.2.2 一个实例 159
4.2.3 查询优化的一般准则 161
4.2.4 关系代数等价变换规则 162
4.2.5 关系代数表达式的优化算法 164
4.2.6 优化的一般步骤 165
4.3 小结 166
习题 166
本章参考文献 167
第五章 关系数据理论 169
5.1 问题的提出 169
5.2.1 函数依赖 172
5.2 规范化 172
5.2.2 码 173
5.2.3 范式 174
5.2.4 2NF 174
5.2.5 3NF 176
5.2.6 BCNF 176
5.2.7 多值依赖 178
5.2.8 4NF 181
5.2.9 规范化小结 182
5.3 数据依赖的公理系统 183
5.4 模式的分解 188
5.4.1 模式分解的三个定义 188
5.4.2 分解的无损连接性和保持函数依赖性 190
5.4.3 模式分解的算法 192
5.5 小结 195
习题 196
本章参考文献 199
6.1 数据库设计概述 203
6.1.1 数据库和信息系统 203
第二篇 设计篇 203
第六章 数据库设计 203
6.1.2 数据库设计的特点 204
6.1.3 数据库设计方法简述 205
6.1.4 数据库设计的基本步骤 205
6.2 需求分析 209
6.2.1 需求分析的任务 209
6.2.2 需求分析的方法 210
6.2.3 数据字典 211
6.3.1 概念结构 213
6.3 概念结构设计 213
6.3.2 概念结构设计的方法与步骤 214
6.3.3 数据抽象与局部视图设计 216
6.3.4 视图的集成 224
6.4 逻辑结构设计 229
6.4.1 E-R图向关系模型的转换 230
6.4.2 数据模型的优化 231
6.4.3 设计用户子模式 232
6.5 数据库的物理设计 233
6.5.2 关系模式存取方法选择 234
6.5.1 数据库的物理设计的内容和方法 234
6.5.3 确定数据库的存储结构 237
6.5.4 评价物理结构 237
6.6 数据库的实施和维护 238
6.6.1 数据的载入和应用程序的调试 238
6.6.2 数据库的试运行 239
6.6.3 数据库的运行和维护 239
6.7 小结 241
习题 241
本章参考文献 242
第三篇 系统篇 247
第七章 数据库恢复技术 247
7.1 事务的基本概念 247
7.2 数据库恢复概述 249
7.3 故障的种类 249
7.4 恢复的实现技术 251
7.4.1 数据转储 252
7.4.2 登记日志文件(Logging) 253
7.5.2 系统故障的恢复 255
7.5.1 事务故障的恢复 255
7.5 恢复策略 255
7.5.3 介质故障的恢复 256
7.6 具有检查点的恢复技术 256
7.7 数据库镜像 259
7.8 Oracle的恢复技术 260
7.9 小结 261
习题 261
本章参考文献 262
8.1 并发控制概述 264
第八章 并发控制 264
8.2 封锁(Locking) 266
8.3 封锁协议 267
8.4 活锁和死锁 270
8.5 并发调度的可串行性 272
8.6 两段锁协议 274
8.7 封锁的粒度 276
8.7.1 多粒度封锁 276
8.7.2 意向锁 277
8.8 Oracle的并发控制 278
8.9 小结 279
习题 280
本章参考文献 281
第九章 数据库安全性 283
9.1 计算机安全性概论 283
9.1.1 计算机系统的三类安全性问题 283
9.1.2 可信计算机系统评测标准 284
9.2.1 用户标识与鉴别(Identification Authentication) 288
9.2 数据库安全性控制 288
9.2.2 存取控制 289
9.2.3 自主存取控制(DAC)方法 290
9.2.4 强制存取控制(MAC)方法 292
9.2.5 视图机制 293
9.2.6 审计(Audit) 294
9.27 数据加密 294
9.3 统计数据库安全性 295
9.4 Oracle数据库的安全性措施 296
9.5 小结 299
习题 300
本章参考文献 301
第十章 数据库完整性 303
10.1 完整性约束条件 303
10.2 完整性控制 306
10.3 Oracle的完整性 309
10.4 小结 313
习题 313
本章参考文献 313
11.1.1 DBMS的目标 315
第十一章 数据库管理系统 315
11.1 DBMS概述 315
11.1.2 DBMS的基本功能 317
11.1.3 DBMS和操作系统 318
11.1.4 DBMS和第四代应用开发环境 318
11.2 DBMS的进程结构和多线索机制 319
11.2.1 N方案:DBMS与应用程序相融合的方案 319
11.2.2 2N方案:一个DBMS进程对应一个用户进程 320
11.2.3 N+1方案:一个DBMS进程对应所有用户进程 321
11.2.4 N+M方案:M个DBMS进程对应N个用户进程 323
11.2.5 多线索(Multi_Threaded)DBMS的概念 324
11.3 DBMS系统结构 326
11.3.1 DBMS程序模块的组成 327
11.3.2 DBMS的层次结构 329
11.3.3 DBMS的运行过程示例 330
11.4 语言处理 332
11.4.1 语言翻译处理层的任务和工作步骤 332
11.4.2 解释方法 334
11.4.3 预编译方法 335
11.5 数据存取层 336
11.5.1 数据存取层的系统结构 337
11.5.2 数据存取层的功能子系统 338
11.6 缓冲区管理 341
11.7 数据库物理组织 343
11.8 小结 347
习题 347
本章参考文献 348
12.1 数据库技术二个发展阶段 353
第四篇 新技术篇 353
第十二章 数据库技术新发展 353
12.1.1 第一代数据库系统 354
12.1.2 第二代数据库系统--关系数据库系统 355
12.1.3 新一代数据库技术的研究和发展 357
12.2 数据库新技术 363
12.2.1 数据模型的发展 363
12.2.2 数据库技术与其他相关技术相结合 366
12.2.3 面向应用领域的数据库新技术 375
习题 389
12.3 小结 389
本章参考文献 390
第十三章 面向对象数据系统 392
13.1 面向对象程序设计方法 393
13.2 在向对象数据模型 394
13.2.1 OO模型的核心概念 394
13.2.2 对象与对象标识 395
13.2.3 类和类层次 397
13.2.4 继承 399
13.2.5 滞后联编 400
13.2.6 对象的嵌套 401
13.3 面向对象数据库语言 402
13.4 面向对象数据库的模式演进 403
13.4.1 模式的一致性 403
13.4.2 模式演进操作 404
13.4.3 模式演进的实现 405
13.5 对象-关系数据库 406
习题 408
13.6 小结 408
本章参考文献 409
第十四章 分布式数据库系统 412
14.1 概述 412
14.1.1 什么是分布式数据库系统 412
14.1.2 分布式数据库系统的特点 415
14.1.3 分布式数据库系统的目标 417
14.2 分布式数据库系统的体系结构 418
14.2.1 分布式数据库系统的模式结构 418
14.2.2 数据分片 419
14.2.3 分布透明性 421
14.2.4 分布式数据库管理系统 423
14.3 查询处理和优化 425
14.3.1 一个实例 426
14.3.2 查询处理和优化要解决的问 428
14.3.3 查询优化的目标 429
14.3.4 连接查询的优化 430
14.4 分布事务管理 432
14.4.1 分布事务的恢复 432
14.4.2 并发控制 433
14.5 分布式数据库的发展前景和应用趋势 435
14.6 小结 436
习题 436
本章参考文献 437
第十五章 并行数据库系统 440
15.1 并行数据库系统概述 440
15.3 支持并行数据库的并行结构 441
15.2 并行数据库系统的目标 441
15.3.1 SM并行结构 442
15.3.2 SD并行结构 443
15.3.3 SN并行结构 444
15.3.4 三种并行结构比较 445
15.4 并行数据库的并行查询处理技术 445
15.4.1 并行粒度 446
15.4.2 并行化形式 447
15.4.3 并行操作算法 448
15.4.4 并行查询优化 451
15.5 并行数据库的物理组织 452
15.5.1 并行数据库的数据划分 452
15.5.2 并行数据库的数据复制 454
15.5.3 并行数据库的数据重组 455
15.6 并行数据库系统与分布式数据库系统的区别 455
15.7 小结 456
习题 458
本章参考文献 458
全书参考文献 460