成功加入购物车
沙姆坎特·纳瓦特赫(Shamkant B. Navathe) 著; 陈宗斌 译;[美]雷米兹·埃尔玛斯特(Ramez Elmasri) / 清华大学出版社 / 2020-08 / 其他
售价 ¥ 46.80 2.4折
定价 ¥198.00
品相 八五品
优惠 满包邮
延迟发货说明
上书时间2023-08-20
卖家超过10天未登录
数据库系统基础(第7版)
本书是被世界众多高校广泛采用的讲述数据库系统的经典教材。本书全面阐述了数据库系统在设计、使用、实现和应 用中所需的基本概念,既有对理论与设计的清晰阐述,同时又涵盖了大量模型和实际系统,紧跟现代数据库技术的* 新发展,注重对数据库系统基本原理的介绍,着重强调数据库系统中的数学模型、设计问题、关系代数和关系演算。 本书提供了大量实验和习题,为学生进行数据库的基础设计和实现提供了实践机会。
Ramez Elmasri(雷米兹·埃尔玛斯特) Shamkant B. Navathe(沙姆坎特·纳瓦特赫) 著
第1部分 数据库简介 第1章 数据库与数据库用户 3 1.1 简介 4 1.2 一个示例 6 1.3 数据库方法的特征 8 1.3.1 数据库系统的自描述性 9 1.3.2 程序与数据之间的隔离以及数据抽象 9 1.3.3 支持数据的多种试图 11 1.3.4 数据共享与多用户事务处理 11 1.4 幕前角色 12 1.4.1 数据库管理员 13 1.4.2 数据库设计者 13 1.4.3 最终用户 13 1.4.4 系统分析员和应用程序员(软件工程师) 14 1.5 幕后工作者 14 1.6 使用DBMS方法的优势 15 1.6.1 控制冗余 15 1.6.2 限制未经授权的访问 16 1.6.3 为程序对象提供持久性存储 16 1.6.4 为高效查询处理提供存储结构和搜索技术 17 1.6.5 提供备份和恢复 17 1.6.6 提供多种用户接口 17 1.6.7 表示数据间的复杂关系 18 1.6.8 强制执行完整性约束 18 1.6.9 允许使用规则和触发器执行推断和动作 18 1.6.10 使用数据库方法的其他潜在优势 19 1.7 数据库应用简史 20 1.7.1 使用层次和网状系统的早期数据库应用 20 1.7.2 利用关系数据库提供数据抽象和应用灵活性 20 1.7.3 面向对象的应用以及对更复杂数据库的需求 21 1.7.4 使用XML在Web上交换数据以实现电子商务 21 1.7.5 为新应用扩展数据库能力 21 1.7.6 大数据存储系统和NOSQL数据库的出现 22 1.8 何时不使用DBMS 22 1.9 小结 23 复习题 23 练习题 24 选读文献 24 第2章 数据库系统的概念和架构 25 2.1 数据模型、模式和实例 25 2.1.1 数据模型分类 26 2.1.2 模式、实例和数据库状态 27 2.2 三层模式架构和数据独立性 28 2.2.1 三层模式架构 29 2.2.2 数据独立性 30 2.3 数据库语言与界面 31 2.3.1 DBMS语言 31 2.3.2 DBMS界面 32 2.4 数据库系统环境 33 2.4.1 DBMS构成模型 34 2.4.2 数据库系统实用程序 36 2.4.3 工具、应用环境和通信设施 36 2.5 DBMS的集中式和客户/服务器架构 37 2.5.1 集中式DBMS架构 37 2.5.2 基本的客户/服务器架构 37 2.5.3 DBMS的两层客户/服务器架构 39 2.5.4 面向Web应用的三层及n层架构 40 2.6 数据库管理系统的分类 41 2.7 小结 43 复习题 44 练习题 44 选读文献 45 第2部分 概念数据建模与数据库设计 第3章 使用实体-关系(ER)模型的数据建模 49 3.1 使用高级概念数据模型进行数据库设计 50 3.2 一个示例数据库应用 51 3.3 实体类型、实体集、属性和键 53 3.3.1 实体和属性 53 3.3.2 实体类型、实体集、键和值集 55 3.3.3 COMPANY数据库的初始概念设计 58 3.4 关系类型、关系集、角色和结构约束 59 3.4.1 关系类型、关系集和关系实例 60 3.4.2 关系度、角色名称和递归关系 61 3.4.3 二元关系类型上的约束 63 3.4.4 关系类型的属性 65 3.5 弱实体类型 65 3.6 细化COMPANY数据库的ER设计 66 3.7 ER图、命名约定和设计问题 67 3.7.1 ER图表示法小结 67 3.7.2 模式构造的正确命名 69 3.7.3 ER概念设计的设计选择 69 3.7.4 ER图的替代表示法 70 3.8 其他表示法示例:UML类图 70 3.9 度大于2的关系类型 73 3.9.1 对二元和三元(或度更高)关系的选择 73 3.9.2 三元(或度更高)关系上的约束 76 3.10 另一个示例:UNIVERSITY数据库 76 3.11 小结 78 复习题 79 练习题 80 实验题 85 选读文献 86 第4章 增强的实体-关系(EER)模型 88 4.1 子类、超类和继承 88 4.2 特化和泛化 90 4.2.1 特化 90 4.2.2 泛化 92 4.3 特化和泛化层次的约束和特征 93 4.3.1 特化与泛化的约束 93 4.3.2 特化和泛化的层次与格 95 4.3.3 利用特化和泛化对概念模式进行细化 97 4.4 使用类别的UNION类型建模 98 4.5 示例UNIVERSITY的EER模式、设计选择和形式化定义 100 4.5.1 一个不同的UNIVERSITY数据库示例 100 4.5.2 特化/泛化的设计选择 102 4.5.3 EER模型概念的形式化定义 103 4.6 其他表示法的示例:在UML类图中表示特化和泛化 104 4.7 数据抽象、知识表示和本体概念 105 4.7.1 分类和实例化 106 4.7.2 标识 106 4.7.3 特化和泛化 107 4.7.4 聚合与关联 107 4.7.5 本体和语义Web 109 4.8 小结 110 复习题 110 练习题 111 实验题 117 选读文献 118 第3部分 关系数据模型和SQL 第5章 关系数据模型和关系数据库约束 123 5.1 关系模型概念 124 5.1.1 域、属性、元组和关系 124 5.1.2 关系的特征 126 5.1.3 关系模型表示法 129 5.2 关系模型约束和关系数据库模式 129 5.2.1 域约束 130 5.2.2 键约束和NULL值约束 130 5.2.3 关系数据库和关系数据库模式 132 5.2.4 实体完整性、参照完整性和外键 134 5.2.5 其他约束类型 136 5.3 更新操作、事务和处理约束破坏 136 5.3.1 插入操作 137 5.3.2 删除操作 138 5.3.3 更新操作 138 5.3.4 事务的概念 139 5.4 小结 140 复习题 140 练习题 141 选读文献 144 第6章 SQL基础 145 6.1 SQL数据定义和数据类型 146 6.1.1 SQL中的模式和目录的概念 146 6.1.2 SQL中的CREATE TABLE命令 147 6.1.3 SQL中的属性数据类型和域 149 6.2 在SQL中指定约束 151 6.2.1 指定属性约束和属性默认值 151 6.2.2 指定键约束和参照完整性约束 152 6.2.3 命名约束 153 6.2.4 使用CHECK在元组上指定约束 153 6.3 SQL中的基本检索查询 154 6.3.1 基本SQL查询的SELECT-FROM-WHERE结构 154 6.3.2 有歧义的属性名、别名、重命名和元组变量 157 6.3.3 未指定的WHERE子句和星号(*)的使用 158 6.3.4 在SQL中将表作为集合 159 6.3.5 子串模式匹配和算术运算符 161 6.3.6 查询结果排序 162 6.3.7 基本SQL检索查询的讨论和小结 163 6.4 SQL中的INSERT、DELETE 和UPDATE语句 163 6.4.1 INSERT命令 163 6.4.2 DELETE命令 165 6.4.3 UPDATE命令 165 6.5 SQL的其他特性 166 6.6 小结 167 复习题 167 练习题 168 选读文献 170 第7章 SQL的更多知识:复杂查询、触发器、视图和模式修改 171 7.1 更复杂的SQL检索查询 171 7.1.1 涉及NULL和三值逻辑的比较 171 7.1.2 嵌套查询、元组与集/多集比较 173 7.1.3 关联的嵌套查询 175 7.1.4 SQL中的EXISTS和UNIQUE函数 175 7.1.5 SQL中的显式集合与重命名 177 7.1.6 SQL中的连接表和外连接 178 7.1.7 SQL中的聚合函数 179 7.1.8 分组:GROUP BY和HAVING子句 181 7.1.9 其他SQL构造:WITH和CASE 184 7.1.10 SQL中的递归查询 185 7.1.11 SQL查询的讨论和总结 186 7.2 指定约束作为断言以及指定动作作为触发器 187 7.2.1 在SQL中指定一般性约束作为断言 187 7.2.2 SQL中的触发器简介 188 7.3 SQL中的视图(虚表) 189 7.3.1 SQL中的视图概念 189 7.3.2 在SQL中指定视图 190 7.3.3 视图实现、视图更新和内联视图 191 7.3.4 将视图作为授权机制 193 7.4 SQL中的模式更改语句 194 7.4.1 DROP命令 194 7.4.2 ALTER命令 194 7.5 小结 195 复习题 197 练习题 197 选读文献 198 第8章 关系代数和关系演算 200 8.1 一元关系运算:选择和投影 201 8.1.1 选择运算 201 8.1.2 投影运算 203 8.1.3 运算序列和RENAME运算 204 8.2 集合论中的关系代数运算 206 8.2.1 并、交和差运算 206 8.2.2 笛卡儿积(叉积)运算 208 8.3 二元关系运算:连接运算和除运算 210 8.3.1 连接运算 210 8.3.2 连接的变体:等值连接和自然连接 211 8.3.3 关系代数运算的完备集 213 8.3.4 除运算 213 8.3.5 查询树的表示法 215 8.4 其他关系运算 216 8.4.1 广义投影 216 8.4.2 聚合函数和分组 217 8.4.3 递归闭包运算 218 8.4.4 外连接运算 219 8.4.5 外并运算 220 8.5 关系代数中的查询示例 221 8.6 元组关系演算 223 8.6.1 元组变量和值域关系 224 8.6.2 元组关系演算中的表达式和公式 225 8.6.3 存在量词和全称量词 226 8.6.4 元组关系演算中的示例查询 226 8.6.5 查询图的表示法 228 8.6.6 在全称量词与存在量词之间转换 228 8.6.7 在查询中使用全称量词 229 8.6.8 安全表达式 230 8.7 域关系演算 231 8.8 小结 233 复习题 234 练习题 234 实验题 238 选读文献 240 第9章 使用ER-关系映射和EER-关系映射进行关系数据库设计 241 9.1 使用ER-关系映射进行关系数据库设计 241 9.1.1 ER-关系映射算法 241 9.1.2 关于映射ER模型构造的讨论和总结 247 9.2 将EER模型构造映射到关系 248 9.2.1 特化或泛化的映射 248 9.2.2 共享子类(多重继承)的映射 251 9.2.3 类别(并类型)的映射 251 9.3 小结 252 复习题 252 练习题 252 实验题 254 选读文献 254 第4部分 数据库编程技术 第10章 SQL编程技术简介 257 10.1 数据库编程技术和问题概述 258 10.1.1 数据库编程的方法 258 10.1.2 阻抗失配 259 10.1.3 数据库编程中的典型交互序列 260 10.2 嵌入式SQL、动态SQL和SQLJ 260 10.2.1 利用嵌入式SQL检索单个元组 261 10.2.2 使用游标处理查询结果 264 10.2.3 使用动态SQL在运行时指定查询 266 10.2.4 SQLJ:在Java中嵌入SQL命令 267 10.2.5 在SQLJ中使用迭代器处理查询结果 269 10.3 利用函数调用和类库进行数据库编程:SQL/CLI和JDBC 271 10.3.1 以C作为宿主语言利用SQL/CLI进行数据库编程 271 10.3.2 JDBC:用于Java编程的SQL类库 274 10.4 数据库存储过程和SQL/PSM 279 10.4.1 数据库存储过程和函数 279 10.4.2 SQL/PSM:扩展SQL以指定持久存储模块 280 10.5 3种方法的比较 282 10.6 小结 282 复习题 283 练习题 283 选读文献 283 第11章 使用PHP进行Web数据库编程 284 11.1 一个简单的PHP示例 284 11.2 PHP的基本特性概述 287 11.2.1 PHP变量、数据类型和编程构造 287 11.2.2 PHP数组 288 11.2.3 PHP函数 289 11.2.4 PHP服务器变量和表单 291 11.3 PHP数据库编程概述 292 11.3.1 连接到数据库 292 11.3.2 从表单中收集数据 294 11.3.3 数据库表中的检索查询 295 11.4 用于数据库Web编程的Java 技术简介 296 11.5 小结 297 复习题 297 练习题 297 选读文献 298 第5部分 对象、对象-关系和XML:概念、模型、语言和标准 第12章 对象和对象-关系数据库 301 12.1 对象数据库概念概述 302 12.1.1 面向对象概念和特性简介 302 12.1.2 对象标识以及对象与文字的比较 303 12.1.3 对象和文字的复杂类型结构 304 12.1.4 操作封装和对象持久性 306 12.1.5 类型层次和继承 309 12.1.6 其他面向对象概念 312 12.1.7 对象数据库概念总结 313 12.2 SQL的对象数据库扩展 314 12.2.1 使用CREATE TYPE的用户定义类型和复杂对象 314 12.2.2 使用引用类型的对象标识符 317 12.2.3 基于UDT创建表 317 12.2.4 操作封装 318 12.2.5 指定继承和函数重载 318 12.2.6 通过引用指定联系 319 12.3 ODMG对象模型和对象定义语言ODL 320 12.3.1 ODMG的对象模型概述 320 12.3.2 ODMG对象模型中的继承 325 12.3.3 对象模型中的内置接口和类 325 12.3.4 原子(用户定义)对象 327 12.3.5 外延、键和工厂对象 329 12.3.6 对象定义语言(ODL) 330 12.4 对象数据库概念设计 335 12.4.1 ODB与RDB的概念设计之间的区别 336 12.4.2 将EER模式映射到ODB模式 336 12.5 对象查询语言(OQL) 338 12.5.1 简单OQL查询、数据库入口点和迭代器变量 338 12.5.2 查询结果和路径表达式 339 12.5.3 OQL的其他特性 341 12.6 ODMG标准中的C 语言绑定概述 345 12.7 小结 347 复习题 347 练习题 348 选读文献 349 第13章 XML:可扩展标记语言 351 13.1 结构化、半结构化和非结构化数据 352 13.2 XML层次(树状)数据模型 355 13.3 XML文档、DTD和XML模式 357 13.3.1 良构和有效的XML文档和XML DTD 357 13.3.2 XML模式 360 13.4 从数据库存储和提取XML文档 364 13.5 XML语言 365 13.5.1 XPath:在XML中指定路径表达式 365 13.5.2 XQuery:在XML中指定查询 367 13.5.3 XML相关的其他语言和协议 368 13.6 从关系数据库中提取XML文档 369 13.6.1 在平面或基于图的数据上创建层次XML视图 369 13.6.2 断开环以将图转换成树 372 13.6.3 从数据库中提取XML文档的其他步骤 373 13.7 XML/SQL:用于创建XML数据的SQL函数 373 13.8 小结 375 复习题 375 练习题 376 选读文献 376 第6部分 数据库设计理论和规范化 第14章 函数依赖和关系数据库规范化的基础知识 379 14.1 关系模式的非形式化设计准则 380 14.1.1 给关系中的属性赋予清晰的定义 381 14.1.2 元组中的冗余信息和更新异常 383 14.1.3 元组中的NULL值 386 14.1.4 生成伪元组 386 14.1.5 关于设计准则的总结和讨论 388 14.2 函数依赖 389 14.3 基于主键的范式 391 14.3.1 关系的规范化 392 14.3.2 范式的实际应用 393 14.3.3 键的定义和参与键的属性 393 14.3.4 第一范式 394 14.3.5 第二范式 397 14.3.6 第三范式 398 14.4 第二范式和第三范式的一般定义 399 14.4.1 第二范式的一般定义 399 14.4.2 第三范式的一般定义 401 14.4.3 解释第三范式的一般定义 401 14.5 Boyce-Codd范式 402 14.6 多值依赖和第四范式 405 14.7 连接依赖和第五范式 407 14.8 小结 408 复习题 409 练习题 410 实验题 414 选读文献 414 第15章 关系数据库设计算法及其他依赖 415 15.1 函数依赖的高级主题:推理规则、等价和最小覆盖 416 15.1.1 函数依赖的推理规则 416 15.1.2 函数依赖集合的等价性 420 15.1.3 最小函数依赖集合 420 15.2 关系分解的性质 422 15.2.1 关系分解和范式的不足 423 15.2.2 分解的依赖保持性质 423 15.2.3 分解的非加性(无损)连接性质 424 15.2.4 测试二元分解的非加性连接性质 427 15.2.5 连续的非加性连接分解 427 15.3 关系数据库模式设计算法 427 15.3.1 依赖保持和非加性(无损)连接的3NF模式分解 427 15.3.2 非加性连接的BCNF模式分解 430 15.4 NULL值、悬挂元组和替代的关系设计 431 15.4.1 NULL值和悬挂元组的问题 431 15.4.2 规范化算法和替代关系设计的讨论 433 15.5 多值依赖和4NF的进一步讨论 434 15.5.1 函数依赖和多值依赖的推理规则 434 15.5.2 再论第四范式 435 15.5.3 非加性连接的4NF关系分解 436 15.6 其他的依赖和范式 437 15.6.1 连接依赖和第五范式 437 15.6.2 包含依赖 437 15.6.3 基于算术函数和过程的函数依赖 438 15.6.4 域-键范式 439 15.7 小结 439 复习题 440 练习题 440 实验题 441 选读文献 442 第7部分 文件结构、散列、索引 和物理数据库设计 第16章 磁盘存储、基本文件结构、散列和现代存储架构 445 16.1 简介 445 16.1.1 存储器的层次结构和存储设备 446 16.1.2 数据库的存储组织方式 448 16.2 辅存设备 449 16.2.1 磁盘设备的硬件描述 450 16.2.2 使磁盘上的数据访问更高效 454 16.2.3 固态元件(SSD)存储器 455 16.2.4 磁带存储设备 456 16.3 块缓冲 457 16.3.1 缓冲区管理 458 16.3.2 缓冲区替换策略 459 16.4 把文件记录存放在磁盘上 460 16.4.1 记录和记录类型 461 16.4.2 文件、定长记录和变长记录 461 16.4.3 记录块、跨块记录与非跨块记录 463 16.4.4 在磁盘上分配文件块 464 16.4.5 文件头 464 16.5 文件操作 465 16.6 无序记录的文件(堆文件) 467 16.7 有序记录的文件(排序文件) 468 16.8 散列技术 471 16.8.1 内部散列 471 16.8.2 磁盘文件的外部散列 474 16.8.3 允许动态文件扩展的散列技术 476 16.9 其他主文件组织 480 16.9.1 混合记录的文件 480 16.9.2 将B树及其他数据结构作为主组织 481 16.10 使用RAID技术并行化磁盘访问 481 16.10.1 利用RAID提高可靠性 482 16.10.2 利用RAID改进性能 483 16.10.3 RAID组织和级别 483 16.11 现代存储架构 484 16.11.1 存储区域网络 485 16.11.2 网络连接存储 485 16.11.3 iSCSI及其他基于网络的存储协议 486 16.11.4 自动存储分层 487 16.11.5 基于对象的存储 487 16.12 小结 488 复习题 489 练习题 490 选读文献 493 第17章 文件的索引结构和物理数据库设计 495 17.1 单级有序索引的类型 495 17.1.1 主索引 496 17.1.2 聚簇索引 499 17.1.3 辅助索引 500 17.1.4 小结 504 17.2 多级索引 505 17.3 使用B树和B 树的动态多级索引 508 17.3.1 搜索树和B树 509 17.3.2 B 树 512 17.4 多个键上的索引 520 17.4.1 多个属性上的有序索引 520 17.4.2 分区散列 521 17.4.3 网格文件 521 17.5 其他索引类型 522 17.5.1 散列索引 522 17.5.2 位图索引 523 17.5.3 基于函数的索引 525 17.6 一些关于索引的一般性主题 526 17.6.1 逻辑索引与物理索引 526 17.6.2 索引创建 527 17.6.3 索引调优 528 17.6.4 与关系和索引存储相关的其他主题 529 17.7 关系数据库中的物理数据库设计 530 17.7.1 影响物理数据库设计的因素 530 17.7.2 物理数据库设计决策 532 17.8 小结 533 复习题 534 练习题 534 选读文献 537 第8部分 查询处理和优化 第18章 查询处理的策略 541 18.1 将SQL查询转换成关系代数和其他运算符 543 18.2 外排序算法 545 18.3 选择运算的算法 547 18.3.1 选择运算的实现选项 547 18.3.2 合取选择的搜索方法 549 18.3.3 析取选择的搜索方法 550 18.3.4 估算条件的选择度 551 18.4 实现连接运算 552 18.4.1 实现连接运算的方法 552 18.4.2 缓冲区空间和外层循环文件的选择如何影响嵌套循环连接的性能 555 18.4.3 连接选择因子如何影响连接性能 556 18.4.4 分区-散列连接的一般情况 557 18.4.5 混合散列连接 558 18.5 投影和集合运算的算法 559 18.6 实现聚合运算和不同类型的连接 561 18.6.1 实现聚合运算 561 18.6.2 实现不同类型的连接 562 18.7 使用流水线组合运算 563 18.8 查询处理的并行算法 565 18.8.1 运算符级并行性 566 18.8.2 查询内的并行性 568 18.8.3 查询间的并行性 568 18.9 小结 569 复习题 569 练习题 570 选读文献 570 第19章 查询优化 571 19.1 查询树和查询优化的启发式规则 571 19.1.1 查询树和查询图的表示法 572 19.1.2 查询树的启发式优化 573 19.2 查询执行计划的选择 579 19.2.1 查询求值的替代方法 579 19.2.2 嵌套子查询优化 580 19.2.3 子查询(视图)合并转换 581 19.2.4 物化视图 583 19.3 在基于代价的优化中使用选择度 586 19.3.1 查询执行的代价成分 587 19.3.2 代价函数中使用的目录信息 588 19.3.3 直方图 588 19.4 选择运算的代价函数 589 19.5 连接运算的代价函数 592 19.5.1 半连接和反连接的连接选择度和连接基数 594 19.5.2 基于代价公式的连接优化的示例 595 19.5.3 多关系查询和连接顺序选择 596 19.5.4 物理优化 598 19.5.5 连接顺序的动态编程方法 598 19.6 说明基于代价的查询优化的示例 600 19.7 与查询优化相关的额外问题 601 19.7.1 显示系统的查询执行计划 602 19.7.2 其他运算的大小估算 602 19.7.3 计划缓存 603 19.7.4 前k个结果优化 603 19.8 数据仓库中的查询优化的示例 604 19.9 Oracle中的查询优化概述 606 19.9.1 物理优化器 606 19.9.2 全局查询优化器 606 19.9.3 自适应优化 607 19.9.4 数组处理 607 19.9.5 提示 608 19.9.6 存储提纲 608 19.9.7 SQL计划管理 608 19.10 语义查询优化 609 19.11 小结 610 复习题 610 练习题 611 选读文献 611 第9部分 事务处理、并发控制和恢复 第20章 事务处理概念和理论简介 615 20.1 事务处理简介 615 20.1.1 单用户系统与多用户系统 616 20.1.2 事务、数据库项、读写操作和DBMS缓冲区 616 20.1.3 为什么需要并发控制 618 20.1.4 为什么需要恢复 620 20.2 事务和系统概念 621 20.2.1 事务状态及额外的操作 621 20.2.2 系统日志 622 20.2.3 事务的提交点 623 20.2.4 特定于DBMS的缓冲区替换策略 624 20.3 事务的理想性质 625 20.4 基于可恢复性描述调度的特征 626 20.4.1 事务的调度(历史) 626 20.4.2 基于可恢复性描述调度的特征 627 20.5 基于可串行化描述调度的特征 629 20.5.1 串行、非串行和冲突-可串行化调度 629 20.5.2 调度的可串行化测试 632 20.5.3 如何将可串行化用于并发控制 635 20.5.4 视图等价和视图可串行化 636 20.5.5 其他类型的调度等价性 637 20.6 SQL中的事务支持 637 20.7 小结 639 复习题 640 练习题 641 选读文献 642 第21章 并发控制技术 643 21.1 并发控制的两阶段锁定技术 643 21.1.1 锁类型和系统锁表 644 21.1.2 通过两阶段锁定保证可串行化 647 21.1.3 处理死锁和饥饿 650 21.2 基于时间戳排序的并发控制 653 21.2.1 时间戳 653 21.2.2 并发控制的时间戳排序算法 653 21.3 多版本并发控制技术 655 21.3.1 基于时间戳排序的多版本技术 655 21.3.2 使用验证锁的多版本两阶段锁定 656 21.4 验证(乐观)技术和快照隔离并发控制 657 21.4.1 基于验证(乐观)的并发控制 657 21.4.2 基于快照隔离的并发控制 658 21.5 数据项的粒度和多粒度锁定 659 21.5.1 锁定的粒度级别考虑 659 21.5.2 多粒度级别锁定 660 21.6 在索引中使用锁进行并发控制 662 21.7 其他并发控制问题 663 21.7.1 插入、删除和幻象记录 663 21.7.2 交互式事务 664 21.7.3 锁存器 664 21.8 小结 665 复习题 665 练习题 666 选读文献 667 第22章 数据库恢复技术 668 22.1 恢复概念 668 22.1.1 恢复概述和恢复算法的分类 668 22.1.2 磁盘块的高速缓存(缓冲) 669 22.1.3 预写式日志记录、窃取/非窃取和强制/非强制 670 22.1.4 系统日志中的检查点和模糊检查点 672 22.1.5 事务回滚和级联回滚 672 22.1.6 不会影响数据库的事务动作 674 22.2 基于延迟更新的NO-UNDO/REDO恢复 674 22.3 基于即时更新的恢复技术 677 22.4 镜像分页 678 22.5 ARIES恢复算法 679 22.6 多数据库系统中的恢复 682 22.7 数据库备份和灾难性故障恢复 683 22.8 小结 683 复习题 684 练习题 685 选读文献 687 第10部分 分布式数据库、NOSQL系统和大数据 第23章 分布式数据库概念 691 23.1 分布式数据库概念 692 23.1.1 DDB的构成 692 23.1.2 透明性 692 23.1.3 可用性和可靠性 693 23.1.4 可伸缩性和分区容错性 694 23.1.5 自治性 694 23.1.6 分布式数据库的优点 695 23.2 分布式数据库设计中的数据分段、复制和分配技术 695 23.2.1 数据分段和分片 696 23.2.2 数据复制和分配 698 23.2.3 分段、分配和复制的示例 698 23.3 分布式数据库中的并发控制和恢复概述 701 23.3.1 基于数据项的标识副本的分布式并发控制 702 23.3.2 基于投票的分布式并发控制 703 23.3.3 分布式恢复 704 23.4 分布式数据库中的事务管理概述 704 23.4.1 两阶段提交协议 705 23.4.2 三阶段提交协议 705 23.4.3 事务管理的操作系统支持 705 23.5 分布式数据库中的查询处理和优化 706 23.5.1 分布式查询处理 706 23.5.2 分布式查询处理的数据传输代价 706 23.5.3 使用半连接的分布式查询处理 708 23.5.4 查询和更新分解 709 23.6 分布式数据库系统的类型 711 23.7 分布式数据库架构 713 23.7.1 并行架构与分布式架构 714 23.7.2 纯粹的分布式数据库的通用架构 715 23.7.3 联邦式数据库模式架构 716 23.7.4 三层客户-服务器架构概述 717 23.8 分布式目录管理 718 23.9 小结 719 复习题 720 练习题 721 选读文献 722 第24章 NOSQL数据库和大数据存储系统 725 24.1 NOSQL系统简介 725 24.1.1 NOSQL系统的出现 725 24.1.2 NOSQL系统的特征 726 24.1.3 NOSQL系统的类别 728 24.2 CAP定理 729 24.3 基于文档的NOSQL系统和 MongoDB 730 24.3.1 MongoDB数据模型 730 24.3.2 MongoDB CRUD操作 733 24.3.3 MongoDB分布式系统特征 733 24.4 NOSQL键-值存储 735 24.4.1 DynamoDB概述 735 24.4.2 Voldemort键-值分布式数据存储 736 24.4.3 其他键-值存储的示例 738 24.5 基于列或宽列NOSQL系统 739 24.5.1 Hbase数据模型和版本化 739 24.5.2 Hbase CRUD操作 741 24.5.3 Hbase存储和分布式系统概念 741 24.6 NOSQL图形数据库和Neo4j 742 24.6.1 Neo4j数据模型 742 24.6.2 Neo4j的Cypher查询语言 745 24.6.3 Neo4j接口和分布式系统特征 746 24.7 小结 747 复习题 747 选读文献 748 第25章 基于MapReduce和Hadoop的大数据技术 749 25.1 什么是大数据 751 25.2 MapReduce和Hadoop简介 753 25.2.1 历史背景 753 25.2.2 MapReduce 754 25.2.3 Hadoop版本 757 25.3 Hadoop分布式文件系统(HDFS) 757 25.3.1 HDFS简介 757 25.3.2 HDFS的架构 758 25.3.3 HDFS中的文件I/O操作和副本管理 759 25.3.4 HDFS可伸缩性 760 25.3.5 Hadoop生态系统 761 25.4 MapReduce:额外的细节 762 25.4.1 MapReduce运行时环境 762 25.4.2 示例:在MapReduce中实现连接 764 25.4.3 Apache Hive 767 25.4.4 Hadoop/MapReduce技术的优点 770 25.5 Hadoop v2的别名YARN 770 25.5.1 YARN背后的基本原理 770 25.5.2 YARN的架构 772 25.5.3 YARN上的其他框架 775 25.6 一般性讨论 777 25.6.1 Hadoop/MapReduce与并行RDBMS 777 25.6.2 云计算中的大数据 779 25.6.3 云中的大数据应用的数据局部性问题和资源优化 780 25.6.4 YARN作为数据服务平台 781 25.6.5 大数据技术面临的挑战 782 25.6.6 继续前进 783 25.7 小结 784 复习题 785 选读文献 786 第11部分 高级数据库模型、系统和应用 第26章 增强数据模型:主动数据库、时态数据库、空间数据库、多媒体数据库和演绎数据库简介 791 26.1 主动数据库的概念和触发器 792 26.1.1 主动数据库的泛化模型和Oracle触发器 792 26.1.2 主动数据库的设计和实现问题 796 26.1.3 STARBURST中的语句级主动规则的示例 798 26.1.4 主动数据库的潜在应用 800 26.1.5 SQL-99中的触发器 801 26.2 时态数据库的概念 801 26.2.1 时间表示法、日历和时间维度 802 26.2.2 使用元组版本化在关系数据库中纳入时间 804 26.2.3 使用属性版本化在面向对象数据库中纳入时间 809 26.2.4 时态查询构造和TSQL2语言 810 26.2.5 时间序列数据 812 26.3 空间数据库概念 813 26.3.1 空间数据库简介 813 26.3.2 空间数据类型和模型 814 26.3.3 空间算子和空间查询 815 26.3.4 空间数据索引 816 26.3.5 空间数据挖掘 817 26.3.6 空间数据的应用 818 26.4 多媒体数据库的概念 818 26.4.1 图像的自动分析 820 26.4.2 图像中的对象识别 821 26.4.3 图像的语义标签 821 26.4.4 音频数据源分析 822 26.5 演绎数据库简介 822 26.5.1 演绎数据库概述 822 26.5.2 Prolog/Datalog表示法 823 26.5.3 Datalog表示法 825 26.5.4 子句形式和Horn子句 825 26.5.5 规则解释 827 26.5.6 Datalog程序及其安全性 829 26.5.7 使用关系运算 831 26.5.8 非递归Datalog查询求值 832 26.6 小结 834 复习题 835 练习题 836 选读文献 838 第27章 信息检索和Web搜索简介 841 第28章 数据挖掘概念 880 第29章 数据仓库和OLAP概述 906 第12部分 额外的数据库主题:安全性 第30章 数据库安全性 923 附录A ER模型的可选图形表示法 957 附录B 磁盘参数 959 附录C QBE语言概述 961 C.1 QBE中的基本检索 961 C.2 QBE中的分组、聚合和数据库修改 964 选读文献 967 参考文献 969
展开全部
配送说明
...
相似商品
为你推荐
开播时间:09月02日 10:30