• 数据库系统基础(第7版)
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

数据库系统基础(第7版)

本店两天左右发货 着急发货的请不要下单 正版新书

59.4 3.0折 198 全新

库存100件

北京通州
认证卖家担保交易快速发货售后保障

作者沙姆坎特·纳瓦特赫(Shamkant B. Navathe) 著;陈宗斌 译;[美]雷米兹·埃尔玛斯特(Ramez Elmasri)

出版社清华大学出版社

出版时间2020-08

版次1

装帧其他

上书时间2024-11-13

一点利小书屋

五年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
图书标准信息
  • 作者 沙姆坎特·纳瓦特赫(Shamkant B. Navathe) 著;陈宗斌 译;[美]雷米兹·埃尔玛斯特(Ramez Elmasri)
  • 出版社 清华大学出版社
  • 出版时间 2020-08
  • 版次 1
  • ISBN 9787302544609
  • 定价 198.00元
  • 装帧 其他
  • 开本 16开
  • 纸张 胶版纸
  • 页数 1020页
  • 字数 1572千字
【内容简介】
本书是被世界众多高校广泛采用的讲述数据库系统的经典教材。本书全面阐述了数据库系统在设计、使用、实现和应 用中所需的基本概念,既有对理论与设计的清晰阐述,同时又涵盖了大量模型和实际系统,紧跟现代数据库技术的* 新发展,注重对数据库系统基本原理的介绍,着重强调数据库系统中的数学模型、设计问题、关系代数和关系演算。 本书提供了大量实验和习题,为学生进行数据库的基础设计和实现提供了实践机会。
【作者简介】
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

 
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP