您好,欢迎来到聚文网。 登录 免费注册
数据库系统概念(原书第7版)

数据库系统概念(原书第7版)

  • 出版社: 机械工业
  • 作者: [美] (Abraham Silberschatz)亚伯拉罕·西尔伯沙茨 、[美] 亨|译者:杨冬青、李红燕、张金波 等
  • 商品条码: 9787111681816
  • 版次: 1
  • 开本: 16开
  • 页数: 794
  • 出版年份: 2021
  • 印次: 1
定价:¥149 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
《数据库系统概念》是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。
目录
出版者的话<br/>译者序<br/>前言<br/>关于作者<br/>第1章 引言1<br/>1.1 数据库系统应用1<br/>1.2 数据库系统的目标3<br/>1.3 数据视图6<br/>1.3.1 数据模型6<br/>1.3.2 关系数据模型6<br/>1.3.3 数据抽象7<br/>1.3.4 实例和模式8<br/>1.4 数据库语言9<br/>1.4.1 数据定义语言9<br/>1.4.2 SQL数据定义语言10<br/>1.4.3 数据操纵语言10<br/>1.4.4 SQL数据操纵语言11<br/>1.4.5 从应用程序访问数据库11<br/>1.5 数据库设计12<br/>1.6 数据库引擎12<br/>1.6.1 存储管理器13<br/>1.6.2 查询处理器14<br/>1.6.3 事务管理14<br/>1.7 数据库和应用体系结构15<br/>1.8 数据库用户和管理员16<br/>1.8.1 数据库用户和用户界面16<br/>1.8.2 数据库管理员17<br/>1.9 数据库系统的历史17<br/>1.10 总结20<br/>术语回顾21<br/>实践习题22<br/>习题22<br/>工具22<br/>延伸阅读23<br/>参考文献23<br/>第一部分 关系语言<br/>第2章 关系模型介绍26<br/>2.1 关系数据库的结构26<br/>2.2 数据库模式28<br/>2.3 码29<br/>2.4 模式图32<br/>2.5 关系查询语言32<br/>2.6 关系代数33<br/>2.6.1 选择运算33<br/>2.6.2 投影运算34<br/>2.6.3 关系运算的复合34<br/>2.6.4 笛卡儿积运算35<br/>2.6.5 连接运算36<br/>2.6.6 集合运算37<br/>2.6.7 赋值运算38<br/>2.6.8 更名运算39<br/>2.6.9 等价查询40<br/>2.7 总结40<br/>术语回顾41<br/>实践习题41<br/>习题42<br/>延伸阅读43<br/>参考文献44<br/>第3章 SQL介绍45<br/>3.1 SQL查询语言概览45<br/>3.2 SQL数据定义46<br/>3.2.1 基本类型46<br/>3.2.2 基本模式定义47<br/>3.3 SQL查询的基本结构49<br/>3.3.1 单关系查询49<br/>3.3.2 多关系查询51<br/>3.4 附加的基本运算55<br/>3.4.1 更名运算55<br/>3.4.2 字符串运算56<br/>3.4.3 select子句中的属性说明57<br/>3.4.4 排列元组的显示次序 57<br/>3.4.5 where子句谓词58<br/>3.5 集合运算58<br/>3.5.1 并运算59<br/>3.5.2 交运算60<br/>3.5.3 差运算60<br/>3.6 空值61<br/>3.7 聚集函数62<br/>3.7.1 基本聚集62<br/>3.7.2 分组聚集63<br/>3.7.3 having子句65<br/>3.7.4 对空值和布尔值的聚集66<br/>3.8 嵌套子查询67<br/>3.8.1 集合成员资格67<br/>3.8.2 集合比较68<br/>3.8.3 空关系测试69<br/>3.8.4 重复元组存在性测试70<br/>3.8.5 from子句中的子查询71<br/>3.8.6 with子句72<br/>3.8.7 标量子查询73<br/>3.8.8 不带from子句的标量73<br/>3.9 数据库的修改74<br/>3.9.1 删除75<br/>3.9.2 插入76<br/>3.9.3 更新77<br/>3.10 总结78<br/>术语回顾79<br/>实践习题79<br/>习题81<br/>工具83<br/>延伸阅读84<br/>参考文献84<br/>第4章 中级SQL85<br/>4.1 连接表达式85<br/>4.1.1 自然连接85<br/>4.1.2 连接条件88<br/>4.1.3 外连接89<br/>4.1.4 连接类型和条件92<br/>4.2 视图92<br/>4.2.1 视图定义93<br/>4.2.2 在SQL查询中使用视图94<br/>4.2.3 物化视图95<br/>4.2.4 视图更新95<br/>4.3 事务97<br/>4.4 完整性约束98<br/>4.4.1 单个关系上的约束99<br/>4.4.2 非空约束99<br/>4.4.3 唯一性约束100<br/>4.4.4 check子句100<br/>4.4.5 引用完整性100<br/>4.4.6 给约束赋名102<br/>4.4.7 事务中对完整性约束的违反103<br/>4.4.8 复杂check条件与断言103<br/>4.5 SQL的数据类型与模式105<br/>4.5.1 SQL中的日期和时间类型105<br/>4.5.2 类型转换和格式化函数105<br/>4.5.3 缺省值106<br/>4.5.4 大对象类型107<br/>4.5.5 用户自定义类型108<br/>4.5.6 生成唯一码值110<br/>4.5.7 create table的扩展111<br/>4.5.8 模式、目录与环境111<br/>4.6 SQL中的索引定义112<br/>4.7 授权113<br/>4.7.1 权限的授予与收回114<br/>4.7.2 角色115<br/>4.7.3 视图的授权116<br/>4.7.4 模式的授权117<br/>4.7.5 权限的转移117<br/>4.7.6 权限的收回118<br/>4.7.7 行级授权119<br/>4.8 总结119<br/>术语回顾120<br/>实践习题121<br/>习题122<br/>延伸阅读123<br/>参考文献123<br/>第5章 高级SQL125<br/>5.1 使用程序设计语言访问SQL125<br/>5.1.1 JDBC126<br/>5.1.2 从Python访问数据库132<br/>5.1.3 ODBC132<br/>5.1.4 嵌入式SQL134<br/>5.2 函数和过程136<br/>5.2.1 声明及调用SQL函数和过程136<br/>5.2.2 用于过程和函数的语言结构137<br/>5.2.3 外部语言例程140<br/>5.3 触发器141<br/>5.3.1 对触发器的需求141<br/>5.3.2 SQL中的触发器141<br/>5.3.3 何时不用触发器144<br/>5.4 递归查询146<br/>5.4.1 使用迭代的传递闭包146<br/>5.4.2 SQL中的递归148<br/>5.5 高级聚集特性149<br/>5.5.1 排名150<br/>5.5.2 分窗153<br/>5.5.3 旋转154<br/>5.5.4 上卷和立方体155<br/>5.6 总结158<br/>术语回顾158<br/>实践习题158<br/>习题160<br/>工具161<br/>延伸阅读162<br/>第二部分 数据库设计<br/>第6章 使用E-R模型的数据库设计164<br/>6.1 设计过程概览164<br/>6.1.1 设计阶段164<br/>6.1.2 设计选择165<br/>6.2 实体-联系模型166<br/>6.2.1 实体集166<br/>6.2.2 联系集167<br/>6.3 复杂属性169<br/>6.4 映射基数171<br/>6.5 主码174<br/>6.5.1 实体集174<br/>6.5.2 联系集175<br/>6.5.3 弱实体集176<br/>6.6 从实体集中删除冗余属性177<br/>6.7 将E-R图转换为关系模式180<br/>6.7.1 强实体集的表示180<br/>6.7.2 具有复杂属性的强实体集的表示180<br/>6.7.3 弱实体集的表示182<br/>6.7.4 联系集的表示182<br/>6.7.5 模式的冗余183<br/>6.7.6 模式的合并184<br/>6.8 扩展的E-R特性184<br/>6.8.1 特化185<br/>6.8.2 概化186<br/>6.8.3 属性继承186<br/>6.8.4 特化上的约束187<br/>6.8.5 聚集187<br/>6.8.6 转换为关系模式188<br/>6.9 实体-联系设计问题190<br/>6.9.1 E-R图中的常见错误190<br/>6.9.2 使用实体集还是属性191<br/>6.9.3 使用实体集还是联系集192<br/>6.9.4 二元还是n元联系集193<br/>6.10 数据建模的可选表示法194<br/>6.10.1 可选的E-R表示法195<br/>6.10.2 统一建模语言196<br/>6.11 数据库设计的其他方面198<br/>6.11.1 功能要求198<br/>6.11.2 数据流、工作流198<br/>6.11.3 模式演化198<br/>6.12 总结199<br/>术语回顾200<br/>实践习题200<br/>习题202<br/>工具203<br/>延伸阅读204<br/>参考文献204<br/>第7章 关系数据库设计205<br/>7.1 好的关系设计的特点205<br/>7.1.1 分解206<br/>7.1.2 无损分解207<br/>7.1.3 规范化理论208<br/>7.2 使用函数依赖进行分解208<br/>7.2.1 符号惯例209<br/>7.2.2 码和函数依赖209<br/>7.2.3 无损分解和函数依赖211<br/>7.3 范式212<br/>7.3.1 Boyce-Codd范式212<br/>7.3.2 第三范式214<br/>7.3.3 BCNF和3NF的比较215<br/>7.3.4 更高级的范式216<br/>7.4 函数依赖理论216<br/>7.4.1 函数依赖集的闭包216<br/>7.4.2 属性集的闭包218<br/>7.4.3 正则覆盖219<br/>7.4.4 保持依赖222<br/>7.5 使用函数依赖的分解算法223<br/>7.5.1 BCNF分解223<br/>7.5.2 3NF分解225<br/>7.5.3 3NF算法的正确性226<br/>7.6 使用多值依赖的分解227<br/>7.6.1 多值依赖227<br/>7.6.2 第四范式229<br/>7.6.3 4NF分解229<br/>7.7 更多的范式230<br/>7.8 原子域和第一范式231<br/>7.9 数据库设计过程232<br/>7.9.1 E-R模型和规范化232<br/>7.9.2 属性和联系的命名233<br/>7.9.3 为了性能去规范化234<br/>7.9.4 其他设计问题234<br/>7.10 时态数据建模235<br/>7.11 总结237<br/>术语回顾238<br/>实践习题239<br/>习题241<br/>延伸阅读243<br/>参考文献244<br/>第三部分 应用程序设计和开发<br/>第8章 复杂数据类型246<br/>8.1 半结构化数据246<br/>8.1.1 半结构化数据模型概述246<br/>8.1.2 JSON248<br/>8.1.3 XML249<br/>8.1.4 RDF和知识图谱251<br/>8.2 面向对象253<br/>8.2.1 对象-关系数据库系统254<br/>8.2.2 对象-关系映射257<br/>8.3 文本数据257<br/>8.3.1 关键字查询258<br/>8.3.2 相关性排名258<br/>8.3.3 检索有效性的度量260<br/>8.3.4 结构化数据和知识图谱上的关键字查询260<br/>8.4 空间数据261<br/>8.4.1 几何信息表示262<br/>8.4.2 设计数据库263<br/>8.4.3 地理数据264<br/>8.4.4 空间查询265<br/>8.5 总结266<br/>术语回顾267<br/>实践习题268<br/>习题269<br/>延伸阅读270<br/>参考文献270<br/>第9章 应用程序开发271<br/>9.1 应用程序和用户界面271<br/>9.2 Web基础272<br/>9.2.1 统一资源定位符272<br/>9.2.2 超文本标记语言273<br/>9.2.3 Web服务器和会话275<br/>9.3 servlet277<br/>9.3.1 servlet示例277<br/>9.3.2 servlet会话279<br/>9.3.3 servlet的生命周期280<br/>9.3.4 应用服务器280<br/>9.4 可选择的服务器端框架280<br/>9.4.1 服务器端脚本280<br/>9.4.2 Web应用框架282<br/>9.4.3 Django框架283<br/>9.5 客户端代码和Web服务284<br/>9.5.1 JavaScript284<br/>9.5.2 Web服务288<br/>9.5.3 断连操作288<br/>9.5.4 移动应用平台289<br/>9.6 应用程序体系结构290<br/>9.6.1 业务逻辑层291<br/>9.6.2 数据访问层和对象-关系映射291<br/>9.7 应用程序性能294<br/>9.7.1 通过高速缓存减少开销295<br/>9.7.2 并行处理296<br/>9.8 应用程序安全性296<br/>9.8.1 SQL注入296<br/>9.8.2 跨站点脚本和请求伪造297<br/>9.8.3 密码泄露298<br/>9.8.4 应用级认证299<br/>9.8.5 应用级授权300<br/>9.8.6 审计追踪302<br/>9.8.7 隐私302<br/>9.9 加密及其应用303<br/>9.9.1 加密技术303<br/>9.9.2 数据库中的加密支持305<br/>9.9.3 加密和认证306<br/>9.10 总结307<br/>术语回顾308<br/>实践习题309<br/>习题309<br/>项目建议310<br/>工具312<br/>延伸阅读313<br/>参考文献313<br/>第四部分 大数据分析<br/>第10章 大数据316<br/>10.1 动机316<br/>10.1.1 大数据的来源和使用317<br/>10.1.2 大数据查询318<br/>10.2 大数据存储系统319<br/>10.2.1 分布式文件系统320<br/>10.2.2 分片322<br/>10.2.3 键值存储系统322<br/>10.2.4 并行和分布式数据库325<br/>10.2.5 复制和一致性326<br/>10.3 MapReduce范式327<br/>10.3.1 为什么要使用MapReduce327<br/>10.3.2 MapReduce示例1:词汇统计328<br/>10.3.3 MapReduce示例2:日志处理329<br/>10.3.4 MapReduce任务的并行处理331<br/>10.3.5 Hadoop中的MapReduce332<br/>10.3.6 MapReduce上的SQL334<br/>10.4 超越MapReduce:代数运算335<br/>10.4.1 代数运算的动机335<br/>10.4.2 Spark中的代数运算336<br/>10.5 流数据339<br/>10.5.1 流数据的应用339<br/>10.5.2 流数据查询341<br/>10.5.3 流上的代数运算343<br/>10.6 图数据库345<br/>10.7 总结347<br/>术语回顾347<br/>实践习题348<br/>习题349<br/>工具349<br/>延伸阅读350<br/>参考文献350<br/>第11章 数据分析351<br/>11.1 分析概述351<br/>11.2 数据仓库352<br/>11.2.1 数据仓库成分353<br/>11.2.2 多维数据与数据仓库模式354<br/>11.2.3 数据仓库的数据库支持355<br/>11.2.4 数据湖356<br/>11.3 联机分析处理356<br/>11.3.1 多维数据上的聚集357<br/>11.3.2 交叉表的关系表示360<br/>11.3.3 SQL中的OLAP361<br/>11.3.4 报表和可视化工具364<br/>11.4 数据挖掘365<br/>11.4.1 数据挖掘任务的类型366<br/>11.4.2 分类366<br/>11.4.3 回归369<br/>11.4.4 关联规则370<br/>11.4.5 聚类371<br/>11.4.6 文本挖掘372<br/>11.5 总结372<br/>术语回顾373<br/>实践习题374<br/>习题375<br/>工具375<br/>延伸阅读376<br/>参考文献376<br/>第五部分 存储管理和索引<br/>第12章 物理存储系统378<br/>12.1 物理存储介质概述378<br/>12.2 存储器接口380<br/>12.3 磁盘381<br/>12.3.1 磁盘的物理特性381<br/>12.3.2 磁盘的性能度量383<br/>12.4 闪存384<br/>12.5 RAID386<br/>12.5.1 通过冗余提高可靠性386<br/>12.5.2 通过并行提高性能387<br/>12.5.3 RAID级别387<br/>12.5.4 硬件问题389<br/>12.5.5 RAID级别的选择390<br/>12.5.6 其他的RAID应用391<br/>12.6 磁盘块访问391<br/>12.7 总结393<br/>术语回顾394<br/>实践习题394<br/>习题395<br/>延伸阅读395<br/>参考文献396<br/>第13章 数据存储结构397<br/>13.1 数据库存储架构397<br/>13.2 文件组织398<br/>13.2.1 定长记录398<br/>13.2.2 变长记录400<br/>13.2.3 大对象存储402<br/>13.3 文件中记录的组织402<br/&g;13.3.1 堆文件组织403<br/>13.3.2 顺序文件组织404<br/>13.3.3 多表聚簇文件组织405<br/>13.3.4 划分407<br/>13.4 数据字典存储407<br/>13.5 数据库缓冲区409<br/>13.5.1 缓冲区管理器409<br/>13.5.2 缓冲区替换策略411<br/>13.5.3 写操作的重排序与恢复413<br/>13.6 面向列的存储414<br/>13.7 主存数据库的存储组织417<br/>13.8 总结418<br/>术语回顾418<br/>实践习题419<br/>习题419<br/>延伸阅读420<br/>参考文献420<br/>第14章 索引421<br/>14.1 基本概念421<br/>14.2 顺序索引422<br/>14.2.1 稠密索引和稀疏索引422<br/>14.2.2 多级索引425<br/>14.2.3 索引更新426<br/>14.2.4 辅助索引427<br/>14.2.5 多码索引428<br/>14.3 B+树索引文件428<br/>14.3.1 B+树的结构429<br/>14.3.2 B+树的查询431<br/>14.3.3 B+树的更新434<br/>14.3.4 B+树更新的复杂度439<br/>14.3.5 非唯一性搜索码440<br/>14.4 B+树扩展441<br/>14.4.1 B+树文件组织441<br/>14.4.2 辅助索引和记录重分配442<br/>14.4.3 对字符串的索引443<br/>14.4.4 B+树索引的批量加载443<br/>14.4.5 B树索引文件444<br/>14.4.6 闪存上的索引445<br/>14.4.7 主存上的索引446<br/>14.5 散列索引447<br/>14.6 多码访问449<br/>14.6.1 使用多个单码索引449<br/>14.6.2 多码索引449<br/>14.6.3 覆盖索引450<br/>14.7 索引的创建450<br/>14.8 写优化索引结构452<br/>14.8.1 LSM树452<br/>14.8.2 缓冲树454<br/>14.9 位图索引455<br/>14.10 时空数据索引456<br/>14.10.1 空间数据索引456<br/>14.10.2 时态数据索引458<br/>14.11 总结459<br/>术语回顾460<br/>实践习题461<br/>习题463<br/>延伸阅读463<br/>参考文献464<br/>第六部分 查询处理和优化<br/>第15章 查询处理466<br/>15.1 概述466<br/>15.2 查询代价的度量468<br/>15.3 选择运算470<br/>15.3.1 文件扫描的使用和索引的选择470<br/>15.3.2 涉及比较的选择472<br/>15.3.3 复杂选择的实现473<br/>15.4 排序474<br/>15.4.1 外排序-归并算法474<br/>15.4.2 外排序-归并的代价分析476<br/>15.5 连接运算476<br/>15.5.1 嵌套-循环连接477<br/>15.5.2 块嵌套-循环连接477<br/>15.5.3 索引嵌套-循环连接478<br/>15.5.4 归并-连接479<br/>15.5.5 散列-连接482<br/>15.5.6 复杂连接485<br/>15.5.7 空间数据上的连接486<br/>15.6 其他运算486<br/>15.6.1 去重486<br/>15.6.2 投影487<br/>15.6.3 集合运算487<br/>15.6.4 外连接488<br/>15.6.5 聚集489<br/>15.7 表达式执行489<br/>15.7.1 物化490<br/>15.7.2 流水线490<br/>15.7.3 对于连续流数据的流水线494<br/>15.8 内存中的查询处理495<br/>15.8.1 高速缓存感知算法495<br/>15.8.2 查询编译496<br/>15.8.3 面向列的存储496<br/>15.9 总结496<br/>术语回顾497<br/>实践习题498<br/>习题499<br/>延伸阅读500<br/>参考文献500<br/>第16章 查询优化501<br/>16.1 概述501<br/>16.2 关系表达式的转换503<br/>16.2.1 等价规则504<br/>16.2.2 转换示例507<br/>16.2.3 连接次序509<br/>16.2.4 等价表达式的枚举509<br/>16.3 表达式结果的统计信息估计510<br/>16.3.1 目录信息511<br/>16.3.2 选择规模估计512<br/>16.3.3 连接规模估计514<br/>16.3.4 其他运算的规模估计516<br/>16.3.5 不同取值个数的估计516<br/>16.4 执行计划的选择517<br/>16.4.1 基于代价的连接次序选择517<br/>16.4.2 采用等价规则的基于代价的优化520<br/>16.4.3 优化中的启发式方法521<br/>16.4.4 嵌套子查询的优化523<br/>16.5 物化视图525<br/>16.5.1 视图维护526<br/>16.5.2 增量的视图维护526<br/>16.5.3 查询优化和物化视图528<br/>16.5.4 物化视图和索引选择529<br/>16.6 查询优化中的高级主题529<br/>16.6.1 top-K优化529<br/>16.6.2 连接最小化530<br/>16.6.3 更新的优化530<br/>16.6.4 多查询优化和共享式扫描530<br/>16.6.5 参数化查询优化531<br/>16.6.6 自适应查询处理531<br/>16.7 总结532<br/>术语回顾532<br/>实践习题533<br/>习题535<br/>延伸阅读536<br/>参考文献536<br/>第七部分 事务管理<br/>第17章 事务538<br/>17.1 事务的概念538<br/>17.2 一个简单的事务模型539<br/>17.3 存储器结构541<br/>17.4 事务的原子性和持久性542<br/>17.5 事务的隔离性543<br/>17.6 可串行化547<br/>17.7 事务的隔离性和原子性550<br/>17.7.1 可恢复调度550<br/>17.7.2 无级联调度550<br/>17.8 事务的隔离性级别551<br/>17.9 隔离性级别的实现553<br/>17.9.1 锁553<br/>17.9.2 时间戳554<br/>17.9.3 多版本和快照隔离554<br/>17.10 事务的SQL语句表示555<br/>17.11 总结556<br/>术语回顾557<br/>实践习题558<br/>习题558<br/>延伸阅读559<br/>参考文献559<br/>第18章 并发控制560<br/>18.1 基于锁的协议560<br/>18.1.1 锁560<br/>18.1.2 锁的授予563<br/>18.1.3 两阶段封锁协议563<br/>18.1.4 封锁的实现565<br/>18.1.5 基于图的协议566<br/>18.2 死锁处理568<br/>18.2.1 死锁预防568<br/>18.2.2 死锁检测与恢复569<br/>18.3 多粒度571<br/>18.4 插入操作、删除操作与谓词读573<br/>18.4.1 删除573<br/>18.4.2 插入574<br/>18.4.3 谓词读和幻象现象574<br/>18.5 基于时间戳的协议576<br/>18.5.1 时间戳576<br/>18.5.2 时间戳排序协议577<br/>18.5.3 Thomas写规则578<br/>18.6 基于有效性检查的协议580<br/>18.7 多版本机制581<br/>18.7.1 多版本时间戳排序582<br/>18.7.2 多版本两阶段封锁583<br/>18.8 快照隔离584<br/>18.8.1 快照隔离中的多版本584<br/>18.8.2 更新事务的有效性检查步骤585<br/>18.8.3 串行化问题和解决方案586<br/>18.9 实践中的弱一致性级别589<br/>18.9.1 二级一致性589<br/>18.9.2 游标稳定性589<br/>18.9.3 跨用户交互的并发控制590<br/>18.10 并发控制的高级主题591<br/>18.10.1 在线索引创建591<br/>18.10.2 索引结构中的并发592<br/>18.10.3 主存数据库中的并发控制594<br/>18.10.4 长事务596<br/>18.10.5 利用操作的并发控制596<br/>18.10.6 实时事务系统598<br/>18.11 总结599<br/>术语回顾600<br/>实践习题601<br/>习题603<br/>延伸阅读604<br/>参考文献604<br/>第19章 恢复系统606<br/>19.1 故障分类606<br/>19.2 存储器607<br/>19.2.1 稳定存储器的实现607<br/>19.2.2 数据访问608<br/>19.3 恢复与原子性609<br/>19.3.1 日志记录610<br/>19.3.2 数据库修改611<br/>19.3.3 并发控制与恢复611<br/>19.3.4 事务提交612<br/>19.3.5 使用日志来重做和撤销事务612<br/>19.3.6 检查点615<br/>19.4 恢复算法616<br/>19.4.1 事务回滚616<br/>19.4.2 系统崩溃后的恢复616<br/>19.4.3 提交处理的优化618<br/>19.5 缓冲区管理618<br/>19.5.1 日志记录缓冲618<br/>19.5.2 数据库缓冲619<br/>19.5.3 操作系统在缓冲区管理中的作用620<br/>19.5.4 模糊检查点621<br/>19.6 非易失性存储器上数据丢失的故障621<br/>19.7 使用远程备份系统的高可用性622<br/>19.8 锁的提前释放与逻辑撤销操作625<br/>19.8.1 逻辑操作625<br/>19.8.2 逻辑撤销日志记录626<br/>19.8.3 有逻辑撤销的事务回滚626<br/>19.8.4 逻辑撤销中的并发问题628<br/>19.9 ARIES629<br/>19.9.1 数据结构629<br/>19.9.2 恢复算法631<br/>19.9.3 其他特性633<br/>19.10 主存数据库的恢复634<br/>19.11 总结634<br/>术语回顾636<br/>实践习题637<br/>习题638<br/>延伸阅读639<br/>参考文献639<br/>第八部分 并行和分布式数据库<br/>第20章 数据库系统体系结构642<br/>20.1 概述642<br/>20.2 集中式数据库系统642<br/>20.3 服务器系统体系结构643<br/>20.3.1 事务服务器体系结构644<br/>20.3.2 数据服务器与数据存储系统646<br/>20.3.3 客户端高速缓存647<br/>20.4 并行系统648<br/>20.4.1 并行数据库的动机648<br/>20.4.2 并行系统的性能度量649<br/>20.4.3 互连网络651<br/>20.4.4 并行数据库体系结构654<br/>20.4.5 共享内存655<br/>20.4.6 共享磁盘658<br/>20.4.7 无共享659<br/>20.4.8 层次659<br/>20.5 分布式系统659<br/>20.6 并行和分布式系统中的事务处理661<br/>20.7 基于云的服务662<br/>20.7.1 云服务模型662<br/>20.7.2 云服务的优缺点665<br/>20.8 总结665<br/>术语回顾666<br/>实践习题667<br/>习题667<br/>延伸阅读668<br/>参考文献668<br/>第21章 并行和分布式存储669<br/>21.1 概述669<br/>21.2 数据分区669<br/>21.2.1 分区策略670<br/>21.2.2 分区技术的对比671<br/>21.3 分区中的偏斜处理672<br/>21.3.1 平衡的范围分区向量673<br/>21.3.2 虚拟节点分区673<br/>21.3.3 动态再分区674<br/>21.4 复制676<br/>21.4.1 副本的位置677<br/>21.4.2 更新与副本的一致性677<br/>21.5 并行索引678<br/>21.6 分布式文件系统681<br/>21.7 并行的键值存储683<br/>21.7.1 数据表示684<br/>21.7.2 存储与检索数据685<br/>21.7.3 对事务的支持687<br/>21.7.4 不使用声明式查询的管理688<br/>21.7.5 性能优化689<br/>21.8 总结689<br/>术语回顾690<br/>实践习题690<br/>习题691<br/>工具691<br/>延伸阅读692<br/>参考文献692<br/>第22章 并行和分布式查询处理694<br/>22.1 概述694<br/>22.2 并行排序695<br/>22.2.1 范围分区排序695<br/>22.2.2 并行的外排序-归并696<br/>22.3 并行连接697<br/>22.3.1 分区连接697<br/>22.3.2 分片-复制连接698<br/>22.3.3 处理并行连接中的偏斜700<br/>22.4 其他运算700<br/>22.4.1 其他关系运算700<br/>22.4.2 map和reduce操作701<br/>22.5 查询计划的并行执行703<br/>22.5.1 操作间并行703<br/>22.5.2 交换算子模型705<br/>22.5.3 情况汇总706<br/>22.5.4 查询计划中的容错708<br/>22.6 共享内存体系结构上的查询处理710<br/>22.7 并行执行的查询优化711<br/>22.7.1 并行查询计划空间712<br/>22.7.2 并行查询计算的代价712<br/>22.7.3 选择并行查询计划713<br/>22.7.4 数据托管714<br/>22.7.5 物化视图的并行维护715<br/>22.8 流数据的并行处理716<br/>22.8.1 元组的路由716<br/>22.8.2 流运算的并行处理718<br/>22.8.3 流数据的容错719<br/>22.9 分布式查询处理720<br/>22.9.1 来自多个数据源的数据集成720<br/>22.9.2 模式和数据集成721<br/>22.9.3 跨多个数据源的查询处理723<br/>22.9.4 分布式目录系统726<br/>22.10 总结727<br/>术语回顾728<br/>实践习题729<br/>习题730<br/>工具731<br/>延伸阅读731<br/>参考文献732<br/>第23章 并行和分布式事务处理734<br/>23.1 分布式事务734<br/>23.1.1 系统结构735<br/>23.1.2 系统故障模式736<br/>23.2 提交协议736<br/>23.2.1 两阶段提交736<br/>23.2.2 提交期间的阻塞避免740<br/>23.2.3 事务处理的可选模型741<br/>23.3 分布式数据库中的并发控制743<br/>23.3.1 封锁协议744<br/>23.3.2 死锁处理744<br/>23.3.3 租赁746<br/>23.3.4 基于时间戳的分布式协议747<br/>23.3.5 时间戳的产生747<br/>23.3.6 分布式时间戳排序748<br/>23.3.7 分布式有效性检查749<br/>23.4 复制750<br/>23.4.1 副本一致性750<br/>23.4.2 使用副本的并发控制751<br/>23.4.3 故障处理753<br/>23.4.4 重构和重组755<br/>23.5 扩展的并发控制协议756<br/>23.5.1 多版本2PL和全局一致性时间戳756<br/>23.5.2 分布式快照隔离757<br/>23.5.3 联邦数据库系统中的并发控制758<br/>23.6 具有弱一致性级别的复制759<br/>23.6.1 用一致性换取可用性759<br/>23.6.2 异步复制760<br/>23.6.3 异步视图维护762<br/>23.6.4 检测不一致性更新764<br/>23.6.5 解决冲突的更新765<br/>23.6.6 使用默克尔树来检测集合之间的差异766<br/>23.7 协调器的选择768<br/>23.7.1 备份协调器768<br/>23.7.2 选举协调器769<br/>23.8 分布式系统中的共识771<br/>23.8.1 问题概述771<br/>23.8.2 Paxos共识协议772<br/>23.8.3 Raft共识协议774<br/>23.8.4 使用复制状态机的容错服务777<br/>23.8.5 使用共识的两阶段提交779<br/>23.9 总结779<br/>术语回顾781<br/>实践习题781<br/>习题783<br/>延伸阅读783<br/>参考文献784<br/>第九部分 附录<br/>附录A 详细的大学模式788<br/>第十部分 中文在线章节一<br/>第24章 高级索引技术<br/>第25章 高级应用开发<br/>第26章 区块链数据库<br/>索引<br/>第十一部分 英文在线章节二<br/>第27章 形式关系查询语言<br/>第28章 高级关系数据库设计<br/>第29章 基于对象的数据库<br/>第30章 XML<br/>第31章 信息检索<br/>第32章 PostgreSQL

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网