目录
第1章数据库系统概论1
1.1数据管理技术的发展1
1.1.1人工管理阶段1
1.1.2文件系统管理阶段3
1.1.3数据库系统管理阶段5
1.2数据库的基本概念5
1.2.1数据库5
1.2.2数据库管理系统8
1.2.3数据库系统10
1.3数据库系统体系结构13
1.3.1数据库系统的三级模式结构13
1.3.2二级映射与数据独立性18
1.4小结19
习题20第2章数据模型23
2.1抽象与模型23
2.2概念模型24
2.2.1概念模型中的概念24
2.2.2实体联系模型27
2.3数据模型概述29
2.3.1数据模型的组成要素29
2.3.2数据模型的演变30
2.3.3关系模型30
2.3.4半结构化数据模型31
2.3.5面向对象数据模型34
2.4小结35
习题36第3章关系数据库理论39
3.1关系模型概述39
3.1.1关系的数据结构39
3.1.2关系的完整性约束44
3.1.3关系操作47
3.2关系代数48
3.2.1传统的集合运算49
3.2.2专门的关系运算50
3.2.3用关系代数运算实现数据库操作55
3.3关系演算57
3.3.1关系演算中关系的表示58
3.3.2元组关系演算58
3.3.3域关系演算61
3.4小结63
习题63第4章关系数据库标准查询语言SQL69
4.1SQL概述69
4.1.1SQL的发展历史69
4.1.2SQL的特点70
4.1.3SQL的语句格式72
4.2数据定义72
4.2.1数据库的定义72
4.2.2基本表的定义73
4.2.3基本表的修改77
4.2.4基本表的删除78
4.3数据查询78
4.3.1单表查询79
4.3.2连接查询86
4.3.3嵌套查询89
4.3.4集合查询97
4.4数据更新97
4.4.1插入元组97
4.4.2修改元组属性值99
4.4.3删除元组100
4.4.4更新操作的完整性检查100
4.4.5触发器103
4.5视图107
4.5.1视图的概念107
4.5.2视图的定义108
4.5.3视图的删除109
4.5.4视图的查询109
4.5.5视图的更新110
4.5.6视图的作用113
4.6授权控制114
4.7小结121
习题121第5章关系模式的规范化设计128
5.1关系模式的设计问题128
5.2关系模式的规范化129
5.2.1函数依赖130
5.2.2基于函数依赖的范式132
5.2.3多值依赖与4NF137
5.2.4关系模式的规范化过程139
5.3函数依赖的理论140
5.3.1函数依赖集的逻辑蕴含140
5.3.2Armstrong公理141
5.3.3属性集闭包143
5.3.4函数依赖集等价和最小函数依赖集144
5.3.5候选键及其判定方法147
5.4模式分解149
5.4.1模式分解的概念150
5.4.2无损连接分解和保持函数依赖分解151
5.4.3模式分解算法154
5.5小结158
习题159第6章数据库的存储管理163
6.1数据库存储管理的数据163
6.2磁盘上数据的存储165
6.2.1磁盘的物理特性165
6.2.2磁盘上数据的缓冲存取167
6.3文件的组织结构169
6.3.1定长记录170
6.3.2变长数据和记录171
6.3.3列存储173
6.4文件的存储结构173
6.4.1堆文件173
6.4.2顺序文件174
6.4.3聚集文件175
6.4.4散列文件(直接文件)176
6.4.5SQL Server的文件存储177
6.5索引180
6.5.1索引的概念181
6.5.2聚集索引和非聚集索引182
6.5.3稠密索引和稀疏索引185
6.5.4多级索引188
6.5.5倒排索引和文档检索191
6.5.6位图索引191
6.6索引文件的结构193
6.6.1B+树193
6.6.2散列索引199
6.7小结200
习题201第7章关系查询与优化204
7.1数据库系统的查询处理步骤204
7.2查询分析与预处理206
7.3代数优化208
7.3.1代数优化的必要性208
7.3.2基于代数等价的启发式优化210
7.4物理优化215
7.4.1操作符的实现算法215
7.4.2基于代价的物理优化方法220
7.5小结223
习题224第8章事务处理227
8.1事务的概念227
8.1.1概念的引入227
8.1.2事务的定义229
8.1.3事务的ACID特性230
8.1.4事务的管理232
8.2事务的恢复233
8.2.1故障及其错误状态233
8.2.2恢复的实现技术235
8.2.3恢复的策略239
8.3并发控制247
8.3.1并发控制的必要性247
8.3.2并发控制的实现技术255
8.4小结295
习题296第9章数据库设计300
9.1数据库设计概述300
9.1.1数据库设计的内容300
9.1.2数据库设计的方法300
9.1.3数据库设计的阶段301
9.2需求分析303
9.2.1需求分析的任务303
9.2.2需求分析的方法304
9.3概念结构设计308
9.3.1概念结构设计步骤309
9.3.2概念结构设计方法311
9.4逻辑结构设计314
9.4.1ER图向关系数据库模式的转换314
9.4.2关系模式的优化320
9.5物理结构设计322
9.5.1确定数据库的存储结构和存取方法322
9.5.2物理结构设计策略327
9.6数据库的实施328
9.7数据库的维护329
9.8小结330
习题330第10章数据库编程334
10.1数据库系统体系结构334
10.1.1客户机/服务器体系结构334
10.1.2浏览器/服务器体系结构335
10.2嵌入式SQL336
10.2.1数据库的连接与关闭336
10.2.2ESQL语句与主语言之间的通信337
10.2.3游标338
10.2.4动态ESQL340
10.3存储过程和函数344
10.3.1TransactSQL345
10.3.2存储过程348
10.3.3函数351
10.4数据库访问接口356
10.4.1专用数据库访问接口356
10.4.2ODBC数据库访问接口359
10.4.3OLEDB数据库访问接口362
10.4.4ADO数据库访问接口362
10.4.5ADO.NET数据库访问接口365
10.4.6JDBC数据库访问接口368
10.5小结370
习题371第11章数据库技术的发展372
11.1关系数据库技术的发展372
11.1.1关系数据库的发展历程372
11.1.2关系数据库的功能扩展374
11.2联机分析处理与数据仓库375
11.2.1联机分析处理375
11.2.2数据仓库376
11.2.3多维数据模型378
11.3分布式数据库系统380
11.3.1分布式数据库系统的概念380
11.3.2数据分布381
11.3.3分布式查询处理383
11.3.4分布式事务管理384
11.4非关系数据库387
11.4.1NoSQL技术的兴起387
11.4.2NoSQL数据模型388
11.4.3NoSQL的事务特性400
11.5小结401
习题402参考文献403