目录 3
前言 3
第1部分 绪论与概念建模 3
第1章 数据库与数据库用户 3
1.1 绪论 4
1.2 一个示例 5
1.3 数据库方法的特点 7
1.4 前台角色 10
1.5 幕后人员 11
1.6 使用DBMS方法的优点 12
1.7 数据库应用简史 16
1.8 何时不应使用DBMS 18
1.9 小结 18
2.1 数据模型、模式和实例 20
第2章 数据库系统概念和体系结构 20
2.2 三层模式体系结构和数据独立性 23
2.3 数据库语言和接口 25
2.4 数据库系统环境 27
2.5 DBMS的集中式与客户/服务器体系结构 30
2.6 数据库管理系统分类 34
2.7 小结 35
第3章 使用实体-关系模型进行数据建模 38
3.1 使用高级概念数据模型进行数据库设计 39
3.2 一个示例数据库应用 41
3.3 实体类型、实体集、属性和键 41
3.4 关系类型、关系集、角色和结构约束 47
3.5 弱实体类型 52
3.6 改进COMPANY数据库的ER图 53
3.7 ER图、命名约定和设计问题 54
3.8 UML类图表示法 58
3.9 小结 59
第4章 改进实体-关系与UML建模 66
4.1 子类、超类和继承 67
4.2 特化与泛化 68
4.3 特化与泛化的约束和特点 71
4.4 采用类别的union类型建模 76
4.5 示例UNIVERSITY的EER模式和EER模型的形式化定义 78
4.6 UML类图中的特化/泛化和继承的表示 81
4.7 度大于2的关系类型 82
4.8 数据抽象、知识表示和本体论概念 85
4.9 小结 90
第2部分 关系模型:概念、约束、语言、设计和程序设计 97
第5章 关系数据模型和关系数据库约束 97
5.1 关系模型概念 98
5.2 关系模型约束和关系数据库模式 102
5.3 更新操作与违反约束的处理 109
5.4 小结 111
第6章 关系代数和关系演算 116
6.1 一元关系操作:SELECT和PROJECT 117
6.2 基于集合的关系代数操作 121
6.3 二元关系操作:JOIN和DIVISION 123
6.4 其他关系操作 129
6.5 关系代数中的查询示例 134
6.6 元组关系演算 135
6.7 域关系演算 142
6.8 小结 144
第7章 使用ER-关系以及EER-关系映射进行关系数据库设计 150
7.1 使用ER-关系映射的关系数据库设计 150
7.2 将EER模型构造映射至关系 156
7.3 小结 159
第8章 SQL-99:模式定义、基本约束和查询 161
8.1 SQL数据库定义和数据类型 162
8.2 SQL中指定基本约束 166
8.3 SQL中的模式更改语句 169
8.4 SQL中的基本查询 170
8.5 更复杂的SQL查询 178
8.6 SQL中的插入、删除和更新语句 191
8.7 SQL的其他特性 194
8.8 小结 195
第9章 SQL的更多内容:断言、视图和编程技术 199
9.1 将一般约束指定为断言 200
9.2 SQL中的视图(虚表) 201
9.3 数据库程序设计:问题与技术 204
9.4 嵌入式SQL、动态SQL和SQLJ 206
9.5 使用函数调用的数据库程序设计:SQL/CLI和JDBC 215
9.6 数据库存储过程与SQL/PSM 222
9.7 小结 224
第3部分 数据库设计理论与方法学 229
第10章 函数依赖与关系数据库的规范化 229
10.1 关系模式的非形式化设计原则 230
10.2 函数依赖 238
10.3 基于主键的范式 243
10.4 第二范式与第三范式的一般定义 250
10.5 Boyce-Codd范式 253
10.6 小结 255
第11章 关系数据库设计算法与其他依赖 259
11.1 关系分解的性质 260
11.2 关系数据库模式设计算法 264
11.3 多值依赖与第四范式 270
11.4 连接依赖与第五范式 274
11.5 包含依赖 275
11.6 其他依赖与范式 276
11.7 小结 277
第12章 实用数据库设计方法学与UML图的使用 280
12.1 组织中信息系统的作用 281
12.2 数据库设计与实现过程 284
12.3 使用UML图作为数据库设计规范的辅助工具 298
12.4 基于UML的设计工具:Rational Rose 305
12.5 自动化数据库设计工具 310
12.6 小结 312
第4部分 数据存储、索引、查询处理和物理设计 317
第13章 磁盘存储、基本文件结构和散列 317
13.1 概述 317
13.2 辅存设备 320
13.3 块缓冲 325
13.4 把文件记录保存在磁盘上 326
13.5 文件操作 329
13.6 无序记录文件(堆文件) 331
13.7 有序记录文件(排序文件) 332
13.8 散列技术 335
13.9 其他主文件组织 342
13.10 使用RAID技术的并行磁盘存取 343
13.11 存储局域网 346
13.12 小结 347
第14章 文件索引结构 352
14.1 单级有序索引类型 352
14.2 多级索引 361
14.3 使用B树和B+树的动态多级索引 363
14.4 多键索引 375
14.5 其他类型的索引 377
14.6 小结 378
第15章 查询处理和优化算法 383
15.1 将SQL查询转换为关系代数 385
15.2 外排序算法 385
15.3 选择(SELECT)与连接(JOIN)操作算法 387
15.4 投影(PROJECT)与集合(SET)操作算法 395
15.5 聚集操作和外连接的实现 396
15.6 用流水线组合操作 397
15.7 在查询优化中使用启发式 398
15.8 查询优化中使用选择性与代价估计 406
15.9 ORACLE中查询优化概述 413
15.10 语义查询优化 414
15.11 小结 415
第16章 实际数据库设计与调优 417
16.1 关系数据库中的物理数据库设计 417
16.2 关系系统中数据库调优概述 420
16.3 小结 424
第5部分 事务处理概念 429
第17章 事务处理概念与理论 429
17.1 事务处理简介 429
17.2 事务和系统的概念 435
17.3 事务的必要性质 437
17.4 基于可恢复性确定调度的特征 438
17.5 基于可串行性确定调度的特征 440
17.6 SQL中的事务处理支持 448
17.7 小结 449
第18章 并发控制技术 453
18.1 并发控制的两段加锁技术 453
18.2 基于时间戳排序的并发控制 461
18.3 多版本并发控制技术 463
18.4 确认(乐观)并发控制技术 465
18.5 数据项粒度和多粒度加锁 466
18.6 索引中使用加锁进行并发控制 469
18.7 其他并发控制问题 469
18.8 小结 470
19.1 恢复概念 473
第19章 数据库恢复技术 473
19.2 基于延迟更新的恢复技术 477
19.3 基于即时更新的恢复技术 481
19.4 镜像分页 483
19.5 ARIES恢复算法 484
19.6 多数据库系统中的恢复 486
19.7 数据库备份和灾难性失败恢复 487
19.8 小结 488
第6部分 对象与对象-关系数据库 495
第20章 对象数据库的概念 495
20.1 面向对象概念概述 496
20.2 对象标识、对象结构和类型构造器 498
20.3 操作、方法和持久性的封装 503
20.4 类型、类层次结构和继承 506
20.5 复杂对象 509
20.6 其他面向对象的概念 510
20.7 小结 512
第21章 对象数据库标准、语言与设计 515
21.1 ODMG对象模型概述 516
21.2 对象定义语言ODL 525
21.3 对象查询语言OQL 530
21.4 C++语言绑定概述 537
21.5 对象数据库概念设计 538
21.6 小结 540
第22章 对象-关系和扩展-关系系统 542
22.1 SQL及其对象-关系特性概述 542
22.2 数据库技术的演变和当前发展趋势 549
22.3 INFORMIX通用服务器5 549
22.4 ORACLE 8的对象-关系特性 558
22.5 扩展类型系统的实现和相关问题 560
22.6 嵌套关系模型 561
22.7 小结 563
第7部分 其他主题 567
第23章 数据库安全和授权 567
23.1 数据库安全问题概述 567
23.2 基于授权和撤回权限的自主访问控制 570
23.3 多级安全的强制访问控制和基于角色的访问控制 573
23.4 统计数据库安全概述 577
23.5 信息流控制简介 578
23.6 加密和公共密钥基础设施 580
23.7 小结 581
第24章 面向高级应用的改进数据模型 584
24.1 主动数据库的概念和触发器 585
24.2 时态数据库概念 593
24.3 多媒体数据库 603
24.4 演绎数据库简介 605
24.5 小结 615
第25章 分布式数据库和客户/服务器体系结构 621
25.1 分布式数据库的概念 622
25.2 分布式数据库设计的数据分片、复制和分配技术 626
25.3 分布式数据库系统的类型 631
25.4 分布式数据库中的查询处理 634
25.5 分布式数据库中的并发控制与恢复概述 638
25.6 三层客户/服务器体系结构概述 640
25.7 Oracle的分布式数据库 641
25.8 小结 643
第8部分 新兴技术 651
第26章 XML和Internet数据库 651
26.1 结构化、半结构化和非结构化数据 651
26.2 XML层次(树)数据模型 654
26.3 XML文档、DTD和XML模式 656
26.4 XML文档和数据库 662
26.5 XML查询 668
26.6 小结 670
第27章 数据挖掘概念 671
27.1 数据挖掘技术概述 671
27.2 关联规则 674
27.3 分类 682
27.4 聚类 685
27.5 解决其他数据挖掘问题的方法 687
27.6 数据挖掘的应用 689
27.7 商业数据挖掘工具 689
27.8 小结 691
第28章 数据仓库和OLAP概述 694
28.1 概述、定义与术语 694
28.2 数据仓库的特征 695
28.3 数据仓库的数据建模 696
28.4 构建数据仓库 700
28.5 数据仓库的典型功能 702
28.6 数据仓库与视图 703
28.7 数据仓库中的难题和开放问题 703
28.8 小结 704
第29章 新兴的数据库技术及应用 706
29.1 移动数据库 706
29.2 多媒体数据库 712
29.3 地理信息系统 716
29.4 基因组数据管理 721
附录A ER模型的可选图形表示法 728
附录B 数据库设计与应用实现案例研究——见本书网站 731
附录C 磁盘参数 731
附录D QBE语言概述 733
D.1 QBE中的基本检索 733
D.2 QBE中的分组、聚集和数据库修改 736
选读书目 739