图书介绍
数据库管理系统原理与设计 第3版PDF|Epub|txt|kindle电子书版本网盘下载
- (美)RaghuRamakrishnan,(美)JohannesGehrke著;周立柱,张志强,李超,王煜等译 著
- 出版社: 北京:清华大学出版社
- ISBN:7302079390
- 出版时间:2004
- 标注页数:775页
- 文件大小:75MB
- 文件页数:806页
- 主题词:数据库管理系统-高等学校-教材
PDF下载
下载说明
数据库管理系统原理与设计 第3版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 数据库基础3
第1章 数据库系统概述3
1.1 管理数据4
1.2 历史回顾5
1.3 文件系统和数据库管理系统6
1.4 数据库管理系统的优点7
1.5 数据库管理系统中数据的描述和存储8
1.5.1 关系模型8
1.5.2 数据库管理系统的抽象级别9
1.5.3 数据独立性11
1.6 数据库管理系统中的查询11
1.7 事务管理12
1.7.1 事务的并发执行13
1.7.2 未完成的事务和系统崩溃13
1.7.3 注意要点14
1.8 数据库管理系统的结构14
1.9 与数据库打交道的人15
1.10 复习题16
第2章 实体联系模型19
2.1 数据库设计与ER图20
2.1.1 其他步骤20
2.2 实体、属性和实体集21
2.3 联系和联系集22
2.4 ER模型的其他特征24
2.4.1 码约束24
2.4.2 参与约束25
2.4.3 弱实体25
2.4.4 类层次27
2.4.5 聚合29
2.5 用ER模型进行概念数据库设计29
2.5.1 实体对属性30
2.5.2 实体与联系31
2.5.3 二元与三元联系32
2.5.4 聚合与三元联系33
2.6 大型企业的概念数据库设计34
2.7 统一建模语言34
2.8 案例研究:网上书店35
2.8.1 需求分析36
2.8.2 概念设计36
2.9 复习题37
第3章 关系模型42
3.1 关系模型简介43
3.1.1 使用SQL创建和修改关系45
3.2 关系的完整性约束46
3.2.1 码约束47
3.2.2 外码约束48
3.2.3 一般约束50
3.3 完整性约束的强制执行50
3.3.1 事务与约束52
3.4 查询关系数据53
3.5 逻辑数据库设计:从ER模型到关系模型55
3.5.1 从实体集到关系表55
3.5.2 从联系集(不包括约束)到关系表56
3.5.3 转换带码约束的联系集57
3.5.4.转换带有参与约束的联系集58
3.5.5 转换弱实体集60
3.5.6 转换类层次60
3.5.7 转换带聚合的ER图61
3.5.8 ER模型到关系模型:更多的示例62
3.6 视图简介63
3.6.1 视图、数据独立性和安全64
3.6.2 视图的更新64
3.7 删除/修改关系表和视图67
3.8 案例研究:网上书店67
3.9 复习题69
第4章 关系代数和演算74
4.1 预备知识74
4.2 关系代数75
4.2.1 选择和投影75
4.2.2 集合操作76
4.2.3 重命名78
4.2.4 连接78
4.2.5 除80
4.2.6 关系代数查询的其他示例81
4.3 关系演算85
4.3.1 元组关系演算86
4.3.2 域关系演算89
4.4 代数与演算的表达能力91
4.5 复习题92
第5章 SQL:查询、约束与触发器96
5.1 概述97
5.1.1 章 节 组织97
5.2 基本SQL查询的形式99
5.2.1 基本SQL查询的示例102
5.2.2 SELECT命令中的表达式和字符串103
5.3 UNION、INTERSECT和EXCEPT104
5.4 嵌套查询107
5.4.1 嵌套查询简介107
5.4.2 相关嵌套查询109
5.4.3 集合比较操作109
5.4.4 有关嵌套查询的其他示例110
5.5 聚集操作符111
5.5.1 GROUP BY和HAVING子句114
5.5.2 聚集查询的其他示例117
5.6 空值120
5.6.1 使用空值的比较121
5.6.2 逻辑连接运算AND、OR和NOT121
5.6.3 SQL构造符的作用121
5.6.4 外连接122
5.6.5 禁止使用空值122
5.7 SQL中的复杂完整性约束123
5.7.1 单个表上的约束123
5.7.2 域约束与DISTINCT类型123
5.7.3 断言:多个表上的完整性约束124
5.8 触发器和主动数据库125
5.8.1 SQL的触发器示例125
5.9 设计主动数据库127
5.9.1 为什么触发器难以理解127
5.9.2 约束和触发器127
5.9.3 触发器的其他用途128
5.10 复习题128
第二部分应用程序开发139
第6章 数据库应用开发139
6.1 从应用程序中访问数据库140
6.1.1 嵌入式SQL140
6.1.2 游标142
6.1.3 动态SQL145
6.2 JDBC简介146
6.2.1 JDBC体系结构147
6.3 JDBC类和接口148
6.3.1 JDBC驱动器管理148
6.3.2 连接到数据源148
6.3.3 执行SQL语句150
6.3.4 结果集151
6.3.5 异常和警告152
6.3.6 检查数据库元数据153
6.4 SQLJ154
6.4.1 编写SQLJ代码155
6.5 存储过程157
6.5.1 创建一个简单的存储过程157
6.5.2 调用存储过程158
6.5.3 SQL/PSM159
6.6 案例研究:网上书店160
6.7 复习题163
第7章 Internet应用166
7.1 引言166
7.2 Internet的一些概念167
7.2.1 统一资源标识符167
7.2.2 超文本传输协议HTTP168
7.3 HTML文档170
7.4 XML文档171
7.4.1 XML简介172
7.4.2 XML DTD174
7.4.3 特定领域的DTD177
7.5 三层应用体系结构178
7.5.1 单层和客户-服务器体系结构178
7.5.2 三层体系结构180
7.5.3 三层体系结构的优点181
7.6 展示层182
7.6.1 HTML表单182
7.6.2 JavaScript184
7.6.3 样式表185
7.7 中间层188
7.7.1 CGI:通用网关接口188
7.7.2 应用服务器189
7.7.3 Servlet190
7.7.4 JSP192
7.7.5 维护状态193
7.8 案例研究:网上书店195
7.9 复习题197
第三部分存储与索引207
第8章 存储与索引概述207
8.1 外部存储上的数据208
8.2 文件组织与索引208
8.2.1 聚簇索引209
8.2.2 主索引和次索引210
8.3 索引数据结构210
8.3.1 基于哈希的索引211
8.3.2 基于树的索引212
8.4 不同文件组织的比较213
8.4.1 代价模型214
8.4.2 堆文件214
8.4.3 排序文件215
8.4.4 聚簇文件216
8.4.5 具有非聚簇树索引的堆文件217
8.4.6 具有非聚簇哈希索引的堆文件218
8.4.7 I/O代价的比较219
8.5 索引和性能调整219
8.5.1 工作负载的影响220
8.5.2 聚簇索引组织220
8.5.3 复合搜索码222
8.5.4 SQL:1999中的索引规范225
8.6 复习题225
第9章 存储数据:磁盘和文件230
9.1 存储层次230
9.1.1 磁盘231
9.1.2 磁盘结构对性能的影响233
9.2 廉价冗余磁盘阵列(RAID)233
9.2.1 数据划分234
9.2.2 冗余234
9.2.3 冗余的层次235
9.2.4 RAID级别的选择238
9.3 磁盘空间管理238
9.3.1 跟踪空闲块238
9.3.2 使用操作系统的文件系统来管理磁盘空间238
9.4 缓冲区管理器239
9.4.1 缓冲区替换策略241
9.4.2 数据库管理系统和操作系统的缓冲区管理241
9.5 记录文件243
9.5.1 堆文件的实现243
9.6 页格式245
9.6.1 定长记录245
9.6.2 变长记录246
9.7 记录格式247
9.7.1 定长记录248
9.7.2 变长记录248
9.8 复习题249
第10章 树结构索引253
10.1 树索引介绍254
10.2 索引顺序存取方法255
10.2.1 溢出页与加锁考虑257
10.3 B+树:一种动态索引结构257
10.3.1 节 点格式258
10.4 搜索259
10.5 插入260
10.6 删除262
10.7 重复266
10.8 实际的B+树267
10.8.1 码压缩267
10.8.2 块加载B+树268
10.8.3 秩的概念270
10.8.4 rid上插入和删除的影响271
10.9 复习题271
第11章 基于哈希的索引277
11.1 静态哈希278
11.1.1 记号与约定279
11.2 可扩展哈希279
11.3 线性哈希283
11.4 可扩展哈希与线性哈希的关系288
11.5 复习题288
第四部分查询评估295
第12章 查询求解概述295
12.1 系统目录296
12.1.1 目录中的信息296
12.2 操作符求解概述298
12.2.1 三种常用技术298
12.2.2 访问路径298
12.3 关系型操作的算法300
12.3.1 选择300
12.3.2 投影301
12.3.3 连接301
12.3.4 其他操作302
12.4 查询优化概述303
12.4.1 查询求解计划303
12.4.2 多处理器查询:流水线求解304
12.4.3 迭代操作的接口305
12.5 可选计划:研究这一问题动机的示例306
12.5.1 下推选择306
12.5.2 使用索引307
12.6 一个典型的优化器做些什么310
12.6.1 考虑不同的查询计划310
12.6.2 估算计划的代价311
12.7 复习题312
第13章 外排序315
13.1 什么时候DBMS需要对数据进行排序315
13.2 简单的两路归并排序算法316
13.3 外归并排序318
13.3.1 段数的最小化320
13.4 最小化I/O开销和I/O的次数321
13.4.1 块I/O321
13.4.2 双缓冲323
13.5 使用B+树来排序323
13.5.1 聚簇索引324
13.5.2 非聚簇索引324
13.6 复习题326
第14章 关系操作求解328
14.1 选择操作329
14.1.1 无索引、未排序的数据329
14.1.2 无索引、排序的数据330
14.1.3 B+树索引330
14.1.4 哈希排序、等价选择331
14.2 一般的选择条件331
14.2.1 CNF和索引匹配332
14.2.2 求解无析取的选择332
14.2.3 求解有析取的选择333
14.3 投影操作334
14.3.1 基于排序的投影334
14.3.2 基于哈希函数的投影335
14.3.3 用于投影的排序和哈希336
14.3.4 用于投影的索引使用337
14.4 连接操作337
14.4.1 嵌套循环连接算法338
14.4.2 排序归并连接算法341
14.4.3 哈希连接345
14.4.4 一般的连接条件348
14.5 集合操作349
14.5.1 用于并和差的排序349
14.5.2 用于并和差的哈希349
14.6 聚集操作350
14.6.1 使用索引实现聚集351
14.7 缓冲的影响351
14.8 复习题352
第15章 典型的关系查询优化器357
15.1 将SQL查询转换成关系代数表达式358
15.1.1 将SQL查询分解成块358
15.1.2 把查询块表示成关系代数表达式359
15.2 估算执行计划的开销360
15.2.1 估计结果的大小360
15.3 关系代数的等价364
15.3.1 选择364
15.3.2 投影364
15.3.3 叉积和连接364
15.3.4 选择、投影和连接365
15.3.5 其他的等价366
15.4 列举可选的执行计划366
15.4.1 单关系查询367
15.4.2 多关系查询370
15.5 嵌套子查询375
15.6 System R优化器377
15.7 查询优化的其他方法377
15.8 复习题378
第五部分 事务管理389
第16章 事务管理概述389
16.1 ACID属性390
16.1.1 一致性和隔离性390
16.1.2 原子性和持久性391
16.2 事务和调度391
16.3 事务的并发执行392
16.3.1 并发执行的动机392
16.3.2 可串行化392
16.3.3 交叉执行带来的异常394
16.3.4 包括中止事务的调度396
16.4 基于加锁的并发控制397
16.4.1 严格的两阶段加锁397
16.4.2 死锁398
16.5 加锁的性能399
16.6 SQL对事务的支持399
16.6.1 创建和结束事务399
16.6.2 应该锁住什么400
16.6.3 SQL中事务的特性401
16.7 崩溃恢复简介403
16.7.1 偷帧和强制写页403
16.7.2 正常执行时与恢复相关的执行步骤404
16.7.3 ARIES简介405
16.7.4 原子性:实现回滚405
16.8 复习题405
第17章 并发控制409
17.1 2PL、可串行性和可恢复性410
17.1.1 观测可串行化411
17.2 加锁管理简介412
17.2.1 实现加锁和解锁请求412
17.3 锁转换413
17.4 死锁处理414
17.4.1 死锁预防415
17.5 特殊的加锁技术416
17.5.1 动态数据库和幻影问题416
17.5.2 B+树的并发控制417
17.5.3 多粒度锁419
17.6 不加锁的并发控制420
17.6.1 乐观的并发控制420
17.6.2 基于时间戳的并发控制422
17.6.3 多版本并发控制424
17.7 复习题425
第18章 崩溃恢复431
18.1 ARIES算法简介432
18.2 日志433
18.3 与恢复相关的其他数据结构435
18.4 写优先日志协议435
18.5 检查点436
18.6 从系统崩溃中恢复436
18.6.1 分析阶段437
18.6.2 重做阶段438
18.6.3 反做阶段439
18.7 介质恢复442
18.8 其他算法以及与并发控制的交互作用442
18.9 复习题443
第六部分数据库设计与调整451
第19章 模式求精与范式451
19.1 模式求精简介452
19.1.1 冗余导致的问题452
19.1.2 模式分解453
19.1.3 模式分解中的一些问题454
19.2 函数依赖455
19.3 函数依赖推理456
19.3.1 函数依赖集的闭包456
19.3.2 属性闭包457
19.4 范式458
19.4.1 鲍依斯-柯德范式458
19.4.2 第三范式459
19.5 分解的特性461
19.5.1 无损连接分解461
19.5.2 保持依赖分解462
19.6 规范化463
19.6.1 分解为BCNF463
19.6.2 分解为3NF464
19.7 数据库设计中的模式求精467
19.7.1 一个实体集上的约束467
19.7.2 一个联系集上的约束468
19.7.3 识别实体的属性468
19.7.4 识别实体集469
19.8 其他类型的依赖470
19.8.1 多值依赖470
19.8.2 第四范式472
19.8.3 连接依赖473
19.8.4 第五范式473
19.8.5 包含依赖473
19.9 案例研究:网上书店474
19.10 复习题475
第20章 物理数据库设计和调整482
20.1 物理数据库设计简介483
20.1.1 数据库负载483
20.1.2 物理设计与调整决策484
20.1.3 数据库调整的必要性484
20.2 索引选择的指导方针485
20.3 索引选择的基本示例486
20.4 聚簇和索引488
20.4.1 两个关系的协同聚簇489
20.5 使只需索引的计划成为可能的索引490
20.6 用于确定索引的辅助工具491
20.6.1 自动的索引选择491
20.6.2 索引调整向导如何工作492
20.7 数据库调整简介494
20.7.1 调整索引494
20.7.2 调整概念模式495
20.7.3 调整查询和视图496
20.8 调整概念模式时的选择496
20.8.1 设置一个弱范式497
20.8.2 非规范化497
20.8.3 分解的选择497
20.8.4 BCNF关系的垂直分解498
20.8.5 水平分解499
20.9 调整查询和视图中的选择499
20.10 并发控制的影响501
20.10.1 减少锁的保持时间501
20.10.2 减少热点502
20.11 案例研究:网上书店503
20.11.1 数据库的调整504
20.12 DBMS评测基准504
20.12.1 著名的DBMS评测基准505
20.12.2 评测基准的使用505
20.13复习题506
第21章 安全与认证512
21.1 数据库安全简介513
21.2 访问控制513
21.3 任意访问控制514
21.3.1 授予和回收视图的访问控制和完整性约束520
21.4 强制性访问控制522
21.4.1 多级关系和多实例化523
21.4.2 转换通道,DoD安全级别524
21.5 Internet应用的安全性525
21.5.1 加密525
21.5.2 认证服务器:SSL协议526
21.5.3 数字签名527
21.6 有关安全的其他问题528
21.6.1 数据库管理员的任务528
21.6.2 统计数据库的安全529
21.7 案例研究:网上书店530
21.8 复习题531
第七部分 高级主题537
第22章 并行与分布式数据库537
22.1 简介537
22.2 并行数据库系统的可用结构538
22.3 并行查询处理539
22.3.1 数据划分540
22.3.2 并行化顺序数据操作处理程序541
22.4 数据操作的并行化541
22.4.1 批量载入和扫描541
22.4.2 排序541
22.4.3 连接542
22.5 并行查询优化544
22.6 分布式数据库简介544
22.6.1 分布式数据库系统的类型545
22.7 分布式DBMS的体系结构545
22.7.1 客户/服务器系统545
22.7.2 协同服务器系统546
22.7.3 中间件系统546
22.8 分布式DBMS的数据存储546
22.8.1 划分547
22.8.2 复制547
22.9 分布式目录管理548
22.9.1 命名对象548
22.9.2 目录结构548
22.9.3 分布数据的独立性549
22.10 分布式查询处理549
22.10.1 分布式DBMS 中无连接的查询550
22.10.2 分布式DBMS 中的连接操作550
22.10.3 基于代价的查询优化553
22.11 分布式数据的更新554
22.11.1 同步复制554
22.11.2 异步复制555
22.12 分布式事务557
22.13 分布式并发控制557
22.13.1 分布式死锁558
22.14 分布式事务恢复559
22.14.1 事务正常执行和提交协议559
22.14.2 发生故障后进行恢复560
22.14.3 重新讨论两阶段提交561
22.14.4 三阶段提交562
22.15 复习题563
第23章 对象数据库系统571
23.1 研究动机示例572
23.1.1 新的数据类型573
23.1.2 操纵新类型数据574
23.2 结构化数据类型576
23.2.1 集合类型576
23.3 结构化类型的数据操纵577
23.3.1 行操作577
23.3.2 数组操作577
23.3.3 其他集合类型的操作578
23.3.4 涉及嵌套集合的查询示例578
23.4 封装和抽象数据类型579
23.4.1 定义方法580
23.5 继承581
23.5.1 定义带有继承的类型582
23.5.2 方法联编582
23.5.3 集合层次583
23.6 对象、对象标识符和引用类型583
23.6.1 相等的概念584
23.6.2 引用类型的解除584
23.6.3 SQL:1999中的URL和oid584
23.7 ORDBMS的数据库设计585
23.7.1 集合类型和ADTs585
23.7.2 对象标识符587
23.7.3 扩展ER模型588
23.7.4 使用嵌套集合589
23.8 实现ORDBMS的挑战590
23.8.1 存储和访问方法590
23.8.2 查询处理591
23.8.3 查询优化593
23.9 OODBMS594
23.9.1 ODMG数据模型和ODL594
23.9.2 OQL596
23.10 RDBMS与OODBMS和ORDBMS的比较597
23.10.1 RDBMS和ORDBMS597
23.10.2 OODBMS和ORDBMS的相似点597
23.10.3 OODBMS和ORDBMS的不同点597
23.11 复习题598
第24章 演绎数据库604
24.1 递归查询简介605
24.1.1 Datalog605
24.2 理论基础607
24.2.1 最小模型语义608
24.2.2 不动点操作符609
24.2.3 安全的Datalog程序610
24.2.4 最小模型=最小不动点610
24.3 带有否定的递归查询611
24.3.1 分层612
24.4 从Datalog到SQL614
24.5 递归查询的求解616
24.5.1 无重复推理的不动点求解616
24.5.2 下移选择操作来避免不相关的推理618
24.5.3 魔集算法619
24.6 复习题621
第25章 数据仓库与决策支持625
25.1 决策支持简介626
25.2 OLAP:多维数据模型627
25.2.1 多维数据库设计629
25.3 多维聚集查询630
25.3.1 SQL:1999中的ROLLUP和CUBE631
25.4 SQL:1999中的WINDOW查询633
25.4.1 构造窗口635
25.4.2 新的聚集函数635
25.5 快速得到查询结果635
25.5.1 得到前N个结果的查询636
25.5.2 联机聚集637
25.6 OLAP实现技术638
25.6.1 位图索引638
25.6.2 连接索引640
25.6.3 文件组织640
25.7 数据仓库641
25.7.1 创建和维护数据仓库641
25.8 视图和决策支持642
25.8.1 视图、OLAP和数据仓库642
25.8.2 视图上的查询643
25.9 视图实体化643
25.9.1 视图实体化的问题644
25.10 实体化视图的维护645
25.10.1 视图的增量维护645
25.10.2 维护数据仓库视图647
25.10.3 进行视图同步的时机648
25.11 复习题649
第26章 数据挖掘655
26.1 数据挖掘简介655
26.1.1 知识发现的过程656
26.2 关联计数657
26.2.1 频繁项集657
26.2.2 冰山式查询659
26.3 规则挖掘660
26.3.1 关联规则660
26.3.2 找出关联规则的算法661
26.3.3 关联规则和ISA层次661
26.3.4 通用化关联规则662
26.3.5 顺序模式663
26.3.6 使用关联规则进行预测664
26.3.7 贝叶斯网络664
26.3.8 分类和回归规则665
26.4 树结构规则666
26.4.1 决策树667
26.4.2 建立决策树的算法668
26.5 聚簇670
26.5.1 一个聚簇算法671
26.6 在序列上的相似搜索671
26.6.1 找出相似序列的算法673
26.7 增量挖掘和数据流673
26.7.1 频繁项集的增量维护674
26.8 其他的数据挖掘任务675
26.9 复习题676
第27章 信息检索和XML数据681
27.1 冲突的世界:数据库、IR和XML682
27.1.1 DBMS与IR系统682
27.2 信息检索介绍683
27.2.1 向量空间模型683
27.2.2 词的TF/IDF权重684
27.2.3 文档相似性排序685
27.2.4 对成功的衡量:查准率和查全率686
27.3 为文本搜索建立索引686
27.3.1 倒排索引686
27.3.2 签名文件688
27.4 Web搜索引擎689
27.4.1 搜索引擎体系结构689
27.4.2 使用链接信息690
27.5 管理DBMS中的文本693
27.5.1 松耦合的倒排索引693
27.6 一个XML的数据模型693
27.6.1 松散结构的动机694
27.6.2 图模型694
27.7 XQuery:查询XML数据695
27.7.1 路径表达式696
27.7.2 FLWR表达式696
27.7.3 元素的排序697
27.7.4 分组以及集合值的生成698
27.8 XML查询的有效求值698
27.8.1 在RDBMS中存储XML699
27.8.2 对XML库进行索引701
27.9 复习题704
第28章 空间数据管理712
28.1 空间数据和查询类型713
28.2 涉及空间数据的应用714
28.3 空间索引简介715
28.3.1 已提出的索引结构概述716
28.4 基于空间填充曲线的索引717
28.4.1 区域四叉树和z-排序区域数据718
28.4.2 使用z-排序的空间查询719
28.5 网格文件719
28.5.1 使用网格文件来处理区域721
28.6 R树:点和区域数据721
28.6.1 查询722
28.6.2 插入和删除操作723
28.6.3 并发控制724
28.6.4 通用化搜索树725
28.7 高维索引问题726
28.8 复习题726
第29章 其他专题729
29.1 高级事务处理729
29.1.1 事务处理监视程序729
29.1.2 新的事务模型730
29.1.3 实时DBMS730
29.2 数据集成730
29.3 移动数据库731
29.4 主存数据库732
29.5 多媒体数据库732
29.6 地理信息系统733
29.7 时态数据库734
29.8 生物数据库734
29.9 信息可视化734
29.10 小结735
第30章 MINIBASE教学辅助软件736
30.1 可用内容736
30.2 MINIBASE作业概述736
30.3 致谢737
参考文献738