图书介绍

数据库系统概念 原书第6版PDF|Epub|txt|kindle电子书版本网盘下载

数据库系统概念 原书第6版
  • (美)西尔伯沙茨著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111375296
  • 出版时间:2012
  • 标注页数:805页
  • 文件大小:227MB
  • 文件页数:834页
  • 主题词:数据库系统-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

数据库系统概念 原书第6版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 引言1

1.1 数据库系统的应用1

1.2 数据库系统的目标2

1.3 数据视图4

1.3.1 数据抽象4

1.3.2 实例和模式5

1.3.3 数据模型5

1.4 数据库语言6

1.4.1 数据操纵语言6

1.4.2 数据定义语言6

1.5 关系数据库7

1.5.1 表7

1.5.2 数据操纵语言8

1.5.3 数据定义语言8

1.5.4 来自应用程序的数据库访问8

1.6 数据库设计9

1.6.1 设计过程9

1.6.2 大学机构的数据库设计9

1.6.3 实体-联系模型10

1.6.4 规范化11

1.7 数据存储和查询11

1.7.1 存储管理器12

1.7.2 查询处理器12

1.8 事务管理12

1.9 数据库体系结构13

1.10 数据挖掘与信息检索15

1.11 特种数据库15

1.11.1 基于对象的数据模型15

1.11.2 半结构化数据模型16

1.12 数据库用户和管理员16

1.12.1 数据库用户和用户界面16

1.12.2 数据库管理员16

1.13 数据库系统的历史17

1.14 总结18

术语回顾19

实践习题19

习题19

工具20

文献注解20

第一部分 关系数据库22

第2章 关系模型介绍22

2.1 关系数据库的结构22

2.2 数据库模式23

2.3 码24

2.4 模式图25

2.5 关系查询语言26

2.6 关系运算27

2.7 总结28

术语回顾29

实践习题29

习题30

文献注解30

第3章 SQL31

3.1 SQL查询语言概览31

3.2 SQL数据定义32

3.2.1 基本类型32

3.2.2 基本模式定义32

3.3 SQL查询的基本结构34

3.3.1 单关系查询34

3.3.2 多关系查询35

3.3.3 自然连接38

3.4 附加的基本运算40

3.4.1 更名运算40

3.4.2 字符串运算41

3.4.3 select子句中的属性说明42

3.4.4 排列元组的显示次序42

3.4.5 where子句谓词42

3.5 集合运算43

3.5.1 并运算43

3.5.2 交运算44

3.5.3 差运算44

3.6 空值45

3.7 聚集函数46

3.7.1 基本聚集46

3.7.2 分组聚集46

3.7.3 having子句47

3.7.4 对空值和布尔值的聚集48

3.8 嵌套子查询48

3.8.1 集合成员资格49

3.8.2 集合的比较49

3.8.3 空关系测试50

3.8.4 重复元组存在性测试51

3.8.5 from子句中的子查询52

3.8.6 with子句53

3.8.7 标量子查询53

3.9 数据库的修改54

3.9.1 删除54

3.9.2 插入55

3.9.3 更新56

3.10 总结57

术语回顾58

实践习题58

习题60

工具61

文献注解62

第4章 中级SQL63

4.1 连接表达式63

4.1.1 连接条件63

4.1.2 外连接64

4.1.3 连接类型和条件67

4.2 视图67

4.2.1 视图定义68

4.2.2 SQL查询中使用视图68

4.2.3 物化视图69

4.2.4 视图更新69

4.3 事务71

4.4 完整性约束71

4.4.1 单个关系上的约束72

4.4.2 not null约束72

4.4.3 unique约束72

4.4.4 check子句72

4.4.5 参照完整性73

4.4.6 事务中对完整性约束的违反75

4.4.7 复杂check条件与断言75

4.5 SQL的数据类型与模式76

4.5.1 SQL中的日期和时间类型76

4.5.2 默认值77

4.5.3 创建索引77

4.5.4 大对象类型77

4.5.5 用户定义的类型78

4.5.6 create table的扩展79

4.5.7 模式、目录与环境80

4.6 授权80

4.6.1 权限的授予与收回81

4.6.2 角色82

4.6.3 视图的授权82

4.6.4 模式的授权83

4.6.5 权限的转移83

4.6.6 权限的收回84

4.7 总结85

术语回顾85

实践习题85

习题87

文献注解87

第5章 高级SQL88

5.1 使用程序设计语言访问数据库88

5.1.1 JDBC89

5.1.2 ODBC93

5.1.3 嵌入式SQL95

5.2 函数和过程97

5.2.1 声明和调用SQL函数和过程98

5.2.2 支持过程和函数的语言构造99

5.2.3 外部语言过程101

5.3 触发器102

5.3.1 对触发器的需求102

5.3.2 SQL中的触发器102

5.3.3 何时不用触发器105

5.4 递归查询106

5.4.1 用迭代来计算传递闭包106

5.4.2 SQL中的递归107

5.5 高级聚集特性109

5.5.1 排名109

5.5.2 分窗110

5.6 OLAP112

5.6.1 联机分析处理112

5.6.2 交叉表与关系表114

5.6.3 SQL中的OLAP116

5.7 总结118

术语回顾118

实践习题119

习题120

工具121

文献注解122

第6章 形式化关系查询语言123

6.1 关系代数123

6.1.1 基本运算123

6.1.2 关系代数的形式化定义128

6.1.3 附加的关系代数运算129

6.1.4 扩展的关系代数运算132

6.2 元组关系演算135

6.2.1 查询示例135

6.2.2 形式化定义137

6.2.3 表达式的安全性137

6.2.4 语言的表达能力138

6.3 域关系演算138

6.3.1 形式化定义138

6.3.2 查询的例子138

6.3.3 表达式的安全性139

6.3.4 语言的表达能力140

6.4 总结140

术语回顾140

实践习题140

习题142

文献注解143

第二部分 数据库设计146

第7章 数据库设计和E-R模型146

7.1 设计过程概览146

7.1.1 设计阶段146

7.1.2 设计选择147

7.2 实体-联系模型148

7.2.1 实体集148

7.2.2 联系集148

7.2.3 属性150

7.3 约束151

7.3.1 映射基数152

7.3.2 参与约束152

7.3.3 码153

7.4 从实体集中删除冗余属性153

7.5 实体-联系图155

7.5.1 基本结构155

7.5.2 映射基数156

7.5.3 复杂的属性156

7.5.4 角色157

7.5.5 非二元的联系集157

7.5.6 弱实体集157

7.5.7 大学的E-R图159

7.6 转换为关系模式159

7.6.1 具有简单属性的强实体集的表示160

7.6.2 具有复杂属性的强实体集的表示160

7.6.3 弱实体集的表示161

7.6.4 联系集的表示161

7.7 实体-联系设计问题163

7.7.1 用实体集还是用属性163

7.7.2 用实体集还是用联系集164

7.7.3 二元还是n元联系集165

7.7.4 联系属性的布局165

7.8 扩展的E-R特性166

7.8.1 特化166

7.8.2 概化167

7.8.3 属性继承168

7.8.4 概化上的约束168

7.8.5 聚集169

7.8.6 转换为关系模式170

7.9 数据建模的其他表示法171

7.9.1 E-R图的其他表示法171

7.9.2 统一建模语言UML173

7.10 数据库设计的其他方面174

7.10.1 数据约束和关系数据库设计174

7.10.2 使用需求:查询、性能175

7.10.3 授权需求175

7.10.4 数据流、工作流175

7.10.5 数据库设计的其他问题176

7.11 总结176

术语回顾177

实践习题177

习题179

工具180

文献注解180

第8章 关系数据库设计181

8.1 好的关系设计的特点181

8.1.1 设计选择:更大的模式181

8.1.2 设计选择:更小的模式182

8.2 原子域和第一范式183

8.3 使用函数依赖进行分解184

8.3.1 码和函数依赖185

8.3.2 Boyce-Codd范式186

8.3.3 BCNF和保持依赖187

8.3.4 第三范式188

8.3.5 更高的范式189

8.4 函数依赖理论189

8.4.1 函数依赖集的闭包189

8.4.2 属性集的闭包191

8.4.3 正则覆盖191

8.4.4 无损分解193

8.4.5 保持依赖194

8.5 分解算法195

8.5.1 BCNF分解195

8.5.2 3NF分解197

8.5.3 3NF算法的正确性198

8.5.4 BCNF和3NF的比较198

8.6 使用多值依赖的分解199

8.6.1 多值依赖199

8.6.2 第四范式201

8.6.3 4NF分解201

8.7 更多的范式202

8.8 数据库设计过程202

8.8.1 E-R模型和规范化202

8.8.2 属性和联系的命名203

8.8.3 为了性能去规范化203

8.8.4 其他设计问题204

8.9 时态数据建模204

8.10 总结206

术语回顾206

实践习题206

习题208

文献注解209

第9章 应用设计和开发210

9.1 应用程序和用户界面210

9.2 Web基础211

9.2.1 统一资源定位符211

9.2.2 超文本标记语言211

9.2.3 Web服务器和会话213

9.3 servlet和JSP214

9.3.1 一个servlet的例子215

9.3.2 servlet会话216

9.3.3 servlet的生命周期216

9.3.4 servlet支持216

9.3.5 服务器端脚本217

9.3.6 客户端脚本218

9.4 应用架构219

9.4.1 业务逻辑层220

9.4.2 数据访问层和对象-关系映射220

9.4.3 Web服务222

9.4.4 断连操作222

9.5 快速应用开发222

9.5.1 构建用户界面的工具223

9.5.2 Web应用框架224

9.5.3 报表生成器224

9.6 应用程序性能225

9.6.1 利用缓存减少开销225

9.6.2 并行处理226

9.7 应用程序安全性226

9.7.1 SQL注入226

9.7.2 跨站点脚本和请求伪造227

9.7.3 密码泄露227

9.7.4 应用程序认证228

9.7.5 应用级授权229

9.7.6 审计追踪230

9.7.7 隐私230

9.8 加密及其应用231

9.8.1 加密技术231

9.8.2 数据库中的加密支持233

9.8.3 加密和认证233

9.9 总结234

术语回顾235

实践习题235

习题236

项目建议237

工具239

文献注解239

第三部分 数据存储和查询242

第10章 存储和文件结构242

10.1 物理存储介质概述242

10.2 磁盘和快闪存储器244

10.2.1 磁盘的物理特性244

10.2.2 磁盘性能的度量245

10.2.3 磁盘块访问的优化246

10.2.4 快闪存储248

10.3 RAID249

10.3.1 通过冗余提高可靠性249

10.3.2 通过并行提高性能250

10.3.3 RAID级别250

10.3.4 RAID级别的选择253

10.3.5 硬件问题253

10.3.6 其他的RAID应用254

10.4 第三级存储254

10.4.1 光盘254

10.4.2 磁带255

10.5 文件组织255

10.5.1 定长记录256

10.5.2 变长记录257

10.6 文件中记录的组织259

10.6.1 顺序文件组织259

10.6.2 多表聚簇文件组织260

10.7 数据字典存储261

10.8 数据库缓冲区262

10.8.1 缓冲区管理器262

10.8.2 缓冲区替换策略263

10.9 总结264

术语回顾265

实践习题265

习题266

文献注解267

第11章 索引与散列268

11.1 基本概念268

11.2 顺序索引269

11.2.1 稠密索引和稀疏索引269

11.2.2 多级索引270

11.2.3 索引的更新272

11.2.4 辅助索引272

11.2.5 多码上的索引273

11.3 B+树索引文件274

11.3.1 B+树的结构274

11.3.2 B+树的查询275

11.3.3 B+树的更新277

11.3.4 不唯一的搜索码281

11.3.5 B+树更新的复杂性282

11.4 B+树扩展283

11.4.1 B+树文件组织283

11.4.2 辅助索引和记录重定位284

11.4.3 字符串上的索引284

11.4.4 B+树索引的批量加载285

11.4.5 B树索引文件285

11.4.6 闪存287

11.5 多码访问287

11.5.1 使用多个单码索引287

11.5.2 多码索引287

11.5.3 覆盖索引288

11.6 静态散列288

11.6.1 散列函数289

11.6.2 桶溢出处理290

11.6.3 散列索引291

11.7 动态散列292

11.7.1 数据结构292

11.7.2 查询和更新293

11.7.3 静态散列与动态散列比较297

11.8 顺序索引和散列的比较297

11.9 位图索引298

11.9.1 位图索引结构298

11.9.2 位图操作的高效实现299

11.9.3 位图和B+树300

11.10 SQL中的索引定义300

11.11 总结300

术语回顾301

实践习题302

习题303

文献注解304

第12章 查询处理305

12.1 概述305

12.2 查询代价的度量306

12.3 选择运算307

12.3.1 使用文件扫描和索引的选择307

12.3.2 涉及比较的选择309

12.3.3 复杂选择的实现309

12.4 排序310

12.4.1 外部排序归并算法310

12.4.2 外部排序归并的代价分析311

12.5 连接运算312

12.5.1 嵌套循环连接312

12.5.2 块嵌套循环连接313

12.5.3 索引嵌套循环连接314

12.5.4 归并连接314

12.5.5 散列连接317

12.6 其他运算320

12.6.1 去除重复320

12.6.2 投影320

12.6.3 集合运算320

12.6.4 外连接321

12.6.5 聚集322

12.7 表达式计算322

12.7.1 物化322

12.7.2 流水线323

12.8 总结325

术语回顾326

实践习题326

习题327

文献注解328

第13章 查询优化329

13.1 概述329

13.2 关系表达式的转换330

13.2.1 等价规则331

13.2.2 转换的例子333

13.2.3 连接的次序334

13.2.4 等价表达式的枚举335

13.3 表达式结果集统计大小的估计335

13.3.1 目录信息335

13.3.2 选择运算结果大小的估计336

13.3.3 连接运算结果大小的估计338

13.3.4 其他运算的结果集大小的估计339

13.3.5 不同取值个数的估计339

13.4 执行计划选择340

13.4.1 基于代价的连接顺序选择340

13.4.2 采用等价规则的基于代价的优化器342

13.4.3 启发式优化342

13.4.4 嵌套子查询的优化344

13.5 物化视图345

13.5.1 视图维护346

13.5.2 增量的视图维护346

13.5.3 查询优化和物化视图348

13.5.4 物化视图和索引选择348

13.6 查询优化中的高级话题348

13.6.1 top-K优化348

13.6.2 连接极小化349

13.6.3 更新的优化349

13.6.4 多查询优化和共享式扫描349

13.6.5 参数化查询优化350

13.7 总结350

术语回顾351

实践习题351

习题353

文献注解353

第四部分 事务管理356

第14章 事务356

14.1 事务概念356

14.2 一个简单的事务模型357

14.3 存储结构358

14.4 事务原子性和持久性359

14.5 事务隔离性360

14.6 可串行化363

14.7 事务隔离性和原子性366

14.7.1 可恢复调度366

14.7.2 无级联调度366

14.8 事务隔离性级别366

14.9 隔离性级别的实现368

14.9.1 锁368

14.9.2 时间戳368

14.9.3 多版本和快照隔离368

14.10 事务的SQL语句表示369

14.11 总结370

术语回顾371

实践习题371

习题372

文献注解372

第15章 并发控制373

15.1 基于锁的协议373

15.1.1 锁373

15.1.2 锁的授予375

15.1.3 两阶段封锁协议376

15.1.4 封锁的实现377

15.1.5 基于图的协议378

15.2 死锁处理379

15.2.1 死锁预防379

15.2.2 死锁检测与恢复380

15.3 多粒度381

15.4 基于时间戳的协议383

15.4.1 时间戳383

15.4.2 时间戳排序协议384

15.4.3 Thomas写规则385

15.5 基于有效性检查的协议386

15.6 多版本机制387

15.6.1 多版本时间戳排序387

15.6.2 多版本两阶段封锁388

15.7 快照隔离388

15.7.1 更新事务的有效性检验步骤389

15.7.2 串行化问题389

15.8 插入操作、删除操作与谓词读391

15.8.1 删除391

15.8.2 插入392

15.8.3 谓词读和幻象现象392

15.9 实践中的弱一致性级别394

15.9.1 二级一致性394

15.9.2 游标稳定性394

15.9.3 跨越用户交互的并发控制394

15.10 索引结构中的并发395

15.11 总结397

术语回顾399

实践习题399

习题401

文献注解402

第16章 恢复系统403

16.1 故障分类403

16.2 存储器403

16.2.1 稳定存储器的实现404

16.2.2 数据访问404

16.3 恢复与原子性405

16.3.1 日志记录406

16.3.2 数据库修改407

16.3.3 并发控制和恢复407

16.3.4 事务提交408

16.3.5 使用日志来重做和撤销事务408

16.3.6 检查点410

16.4 恢复算法411

16.4.1 事务回滚411

16.4.2 系统崩溃后的恢复411

16.5 缓冲区管理412

16.5.1 日志记录缓冲412

16.5.2 数据库缓冲413

16.5.3 操作系统在缓冲区管理中的作用414

16.5.4 模糊检查点414

16.6 非易失性存储器数据丢失的故障415

16.7 锁的提前释放和逻辑undo操作415

16.7.1 逻辑操作416

16.7.2 逻辑undo日志记录416

16.7.3 有逻辑undo的事务回滚417

16.7.4 逻辑undo中的并发问题419

16.8 ARIES419

16.8.1 数据结构419

16.8.2 恢复算法421

16.8.3 其他特性422

16.9 远程备份系统423

16.10 总结424

术语回顾425

实践习题426

习题427

文献注解428

第五部分 系统体系结构430

第17章 数据库系统体系结构430

17.1 集中式与客户-服务器体系结构430

17.1.1 集中式系统430

17.1.2 客户-服务器系统431

17.2 服务器系统体系结构432

17.2.1 事务服务器432

17.2.2 数据服务器434

17.2.3 基于云的服务器435

17.3 并行系统435

17.3.1 加速比和扩展比435

17.3.2 互连网络437

17.3.3 并行数据库体系结构437

17.4 分布式系统439

17.4.1 分布式数据库示例440

17.4.2 实现问题441

17.5 网络类型442

17.5.1 局域网442

17.5.2 广域网443

17.6 总结443

术语回顾444

实践习题444

习题445

文献注解445

第18章 并行数据库447

18.1 引言447

18.2 I/O并行447

18.2.1 划分技术447

18.2.2 划分技术比较448

18.2.3 偏斜处理449

18.3 查询间并行450

18.4 查询内并行450

18.5 操作内并行451

18.5.1 并行排序451

18.5.2 并行连接452

18.5.3 其他关系运算455

18.5.4 运算的并行计算代价455

18.6 操作间并行456

18.6.1 流水线并行456

18.6.2 独立并行456

18.7 查询优化456

18.8 并行系统设计457

18.9 多核处理器的并行性458

18.9.1 并行性与原始速度458

18.9.2 高速缓冲存储器和多线程458

18.9.3 适应现代体系架构的数据库系统设计459

18.10 总结459

术语回顾460

实践习题460

习题461

文献注解462

第19章 分布式数据库463

19.1 同构和异构数据库463

19.2 分布式数据存储463

19.2.1 数据复制464

19.2.2 数据分片464

19.2.3 透明性465

19.3 分布式事务465

19.3.1 系统结构466

19.3.2 系统故障模式466

19.4 提交协议467

19.4.1 两阶段提交467

19.4.2 三阶段提交469

19.4.3 事务处理的可选择性模型469

19.5 分布式数据库中的并发控制471

19.5.1 封锁协议471

19.5.2 时间戳473

19.5.3 弱一致性级别的复制473

19.5.4 死锁处理474

19.6 可用性475

19.6.1 基于多数的方法476

19.6.2 读一个、写所有可用的方法477

19.6.3 站点重建477

19.6.4 与远程备份的比较477

19.6.5 协调器的选择477

19.6.6 为可用性而牺牲一致性478

19.7 分布式查询处理479

19.7.1 查询转换479

19.7.2 简单的连接处理480

19.7.3 半连接策略480

19.7.4 利用并行性的连接策略481

19.8 异构分布式数据库481

19.8.1 数据统一视图481

19.8.2 查询处理482

19.8.3 多数据库中的事务管理482

19.9 基于云的数据库483

19.9.1 云上的数据存储系统484

19.9.2 云上的传统数据库487

19.9.3 基于云的数据库的挑战488

19.10 目录系统488

19.10.1 目录访问协议489

19.10.2 LDAP:轻量级目录访问协议489

19.11 总结492

术语回顾493

实践习题493

习题495

文献注解495

第六部分 数据仓库、数据挖掘与信息检索498

第20章 数据仓库与数据挖掘498

20.1 决策支持系统498

20.2 数据仓库499

20.2.1 数据仓库成分499

20.2.2 数据仓库模式500

20.2.3 面向列的存储501

20.3 数据挖掘501

20.4 分类502

20.4.1 决策树分类器503

20.4.2 其他类型的分类器505

20.4.3 回归507

20.4.4 分类器验证507

20.5 关联规则508

20.6 其他类型的关联509

20.7 聚类509

20.8 其他类型的数据挖掘510

20.9 总结511

术语回顾511

实践习题512

习题512

工具512

文献注解513

第21章 信息检索514

21.1 概述514

21.2 使用术语的相关性排名515

21.2.1 使用TF-IDF的排名方法515

21.2.2 基于相似性的检索516

21.3 使用超链接的相关性517

21.3.1 流行度排名517

21.3.2 PageRank518

21.3.3 其他的流行度度量518

21.3.4 搜索引擎作弊519

21.3.5 将TF-IDF和流行度排名度量方法结合520

21.4 同义词、多义词和本体520

21.5 文档的索引521

21.6 检索的有效性度量522

21.7 Web的抓取和索引523

21.8 信息检索:网页排名之外524

21.8.1 查询结果的多样化524

21.8.2 信息抽取524

21.8.3 问答系统525

21.8.4 查询结构化数据525

21.9 目录与分类526

21.10 总结527

术语回顾528

实践习题528

习题528

工具529

文献注解529

第七部分 特种数据库532

第22章 基于对象的数据库532

22.1 概述532

22.2 复杂数据类型532

22.3 SQL中的结构类型和继承534

22.3.1 结构类型534

22.3.2 类型继承536

22.4 表继承537

22.5 SQL中的数组和多重集合类型538

22.5.1 创建和访问集合体值539

22.5.2 查询以集合体为值的属性539

22.5.3 嵌套和解除嵌套540

22.6 SQL中的对象标识和引用类型541

22.7 O-R特性的实现542

22.8 持久化程序设计语言543

22.8.1 对象的持久化544

22.8.2 对象标识和指针544

22.8.3 持久对象的存储和访问545

22.8.4 持久化C++系统545

22.8.5 持久化Java系统547

22.9 对象-关系映射548

22.10 面向对象与对象-关系548

22.11 总结549

术语回顾549

实践习题550

习题551

工具551

文献注解552

第23章 XML553

23.1 动机553

23.2 XML数据结构555

23.3 XML文档模式558

23.3.1 文档类型定义558

23.3.2 XML Schema560

23.4 查询和转换563

23.4.1 XML树模型563

23.4.2 XPath563

23.4.3 XQuery565

23.5 XML应用程序接口568

23.6 XML数据存储569

23.6.1 非关系的数据存储569

23.6.2 关系数据库570

23.6.3 SQL/XML572

23.7 XML应用573

23.7.1 存储复杂结构数据573

23.7.2 标准化数据交换格式573

23.7.3 Web服务574

23.7.4 数据中介574

23.8 总结575

术语回顾576

实践习题576

习题577

工具578

文献注解578

第八部分 高级主题580

第24章 高级应用开发580

24.1 性能调整580

24.1.1 提高面向集合的特性580

24.1.2 批量加载和更新的调整581

24.1.3 瓶颈位置582

24.1.4 可调参数583

24.1.5 硬件调整584

24.1.6 模式调整585

24.1.7 索引调整585

24.1.8 使用物化视图586

24.1.9 物理设计的自动调整586

24.1.10 并发事务调整587

24.1.11 性能模拟589

24.2 性能基准程序589

24.2.1 任务集589

24.2.2 数据库应用类型589

24.2.3 TPC基准程序590

24.3 应用系统开发的其他问题591

24.3.1 应用系统测试591

24.3.2 应用系统移植592

24.4 标准化592

24.4.1 SQL标准593

24.4.2 数据库连接标准593

24.4.3 对象数据库标准594

24.4.4 基于XML的标准594

24.5 总结595

术语回顾595

实践习题596

习题596

文献注解597

第25章 时空数据和移动性598

25.1 动机598

25.2 数据库中的时间598

25.2.1 SQL中的时间规范599

25.2.2 时态查询语言599

25.3 空间与地理数据600

25.3.1 几何信息表示600

25.3.2 设计数据库601

25.3.3 地理数据602

25.3.4 空间查询603

25.3.5 空间数据的索引604

25.4 多媒体数据库607

25.4.1 多媒体数据格式607

25.4.2 连续媒体数据607

25.4.3 基于相似性的检索608

25.5 移动性和个人数据库608

25.5.1 移动计算模型609

25.5.2 路由和查询处理610

25.5.3 广播数据610

25.5.4 连接断开与一致性610

25.6 总结612

术语回顾612

实践习题613

习题613

文献注解613

第26章 高级事务处理615

26.1 事务处理监控器615

26.1.1 TP监控器体系结构615

26.1.2 使用TP监控器进行应用协调617

26.2 事务工作流618

26.2.1 工作流说明619

26.2.2 工作流的故障原子性需求620

26.2.3 工作流执行620

26.2.4 工作流恢复621

26.2.5 工作流管理系统621

26.3 电子商务622

26.3.1 电子目录622

26.3.2 市场622

26.3.3 订单结算623

26.4 主存数据库623

26.5 实时事务系统625

26.6 长事务625

26.6.1 不可串行化的执行626

26.6.2 并发控制627

26.6.3 嵌套事务和多级事务627

26.6.4 补偿事务628

26.6.5 实现问题628

26.7 总结629

术语回顾629

实践习题630

习题630

文献注解631

第九部分 实例研究634

第27章 PostgreSQL634

27.1 概述634

27.2 用户界面634

27.2.1 交互式终端界面634

27.2.2 图形界面635

27.2.3 编程语言接口636

27.3 SQL变化和扩展636

27.3.1 PostgreSQL类型637

27.3.2 规则和其他主动数据库特征638

27.3.3 可扩展性639

27.4 PostgreSQL中的事务管理642

27.4.1 PostgreSQL的并发控制642

27.4.2 恢复647

27.5 存储和索引647

27.5.1 表648

27.5.2 索引648

27.6 查询处理和优化650

27.6.1 查询重写650

27.6.2 查询规划和优化650

27.6.3 查询执行器651

27.6.4 触发器和约束651

27.7 系统结构652

文献注解652

第28章 Oracle654

28.1 数据库设计和查询工具654

28.1.1 数据库和应用设计工具654

28.1.2 查询工具654

28.2 SQL的变化和扩展655

28.2.1 对象-关系特性655

28.2.2 Oracle XML DB655

28.2.3 过程化语言656

28.2.4 维度656

28.2.5 联机分析处理656

28.2.6 触发器656

28.3 存储和索引656

28.3.1 表空间657

28.3.2 段657

28.3.3 表657

28.3.4 索引659

28.3.5 位图索引659

28.3.6 基于函数的索引660

28.3.7 连接索引660

28.3.8 域索引660

28.3.9 划分660

28.3.10 物化视图661

28.4 查询处理和优化662

28.4.1 执行方法662

28.4.2 优化663

28.4.3 并行执行665

28.4.4 结果高速缓存666

28.5 并发控制与恢复666

28.5.1 并发控制666

28.5.2 恢复的基本结构667

28.5.3 Oracle数据卫士668

28.6 系统体系结构668

28.6.1 专用服务器:内存结构668

28.6.2 专用服务器:进程结构669

28.6.3 共享服务器669

28.6.4 Oracle Real Application Clusters669

28.6.5 自动存储管理器670

28.6.6 Oracle Exadata670

28.7 复制、分布以及外部数据671

28.7.1 复制671

28.7.2 分布式数据库671

28.7.3 外部数据源671

28.8 数据库管理工具672

28.8.1 Oracle企业管理器672

28.8.2 自动工作负载存储672

28.8.3 数据库资源管理672

28.9 数据挖掘672

文献注解673

第29章 IBM DB2 Universal Database674

29.1 概述674

29.2 数据库设计工具675

29.3 SQL的变化和扩展675

29.3.1 XML特性675

29.3.2 数据类型的支持676

29.3.3 用户自定义函数和方法676

29.3.4 大对象677

29.3.5 索引扩展和约束677

29.3.6 Web服务677

29.3.7 其他特性678

29.4 存储和索引678

29.4.1 存储体系结构678

29.4.2 缓冲池679

29.4.3 表、记录和索引679

29.5 多维聚簇680

29.5.1 块索引681

29.5.2 块映射682

29.5.3 设计考虑682

29.5.4 对现有技术的影响682

29.6 查询处理和优化682

29.6.1 存取方法684

29.6.2 连接、聚集和集合运算684

29.6.3 对复杂SQL处理的支持684

29.6.4 多处理器查询处理特性684

29.6.5 查询优化685

29.7 物化的查询表685

29.7.1 查询路由到MQT686

29.7.2 MQT的维护686

29.8 DB2中的自治特性686

29.8.1 配置687

29.8.2 优化687

29.9 工具和实用程序687

29.10 并发控制和恢复688

29.10.1 并发与隔离688

29.10.2 提交与回滚689

29.10.3 日志与恢复689

29.11 系统体系结构690

29.12 复制、分布和外部数据691

29.13 商务智能特性691

文献注解692

第30章 Microsoft SQL Server693

30.1 管理、设计和查询工具693

30.1.1 数据库开发和可视化数据库工具693

30.1.2 数据库查询和调优工具693

30.1.3 SQL Server Management Studio695

30.2 SQL变化和扩展696

30.2.1 数据类型696

30.2.2 查询语言增强697

30.2.3 例程697

30.2.4 带过滤的索引698

30.3 存储和索引699

30.3.1 文件组699

30.3.2 文件组内的空间管理699

30.3.3 表699

30.3.4 索引699

30.3.5 分区700

30.3.6 在线创建索引700

30.3.7 扫描和预读700

30.3.8 压缩700

30.4 查询处理和优化700

30.4.1 编译处理概述700

30.4.2 查询简化701

30.4.3 重排序和基于代价的优化701

30.4.4 更新计划702

30.4.5 优化时的数据分析702

30.4.6 部分搜索和启发式搜索702

30.4.7 查询执行703

30.5 并发与恢复703

30.5.1 事务703

30.5.2 封锁704

30.5.3 恢复和可用性705

30.6 系统体系结构706

30.6.1 服务器上的线程池706

30.6.2 内存管理706

30.6.3 安全性707

30.7 数据访问707

30.8 分布式异构查询处理708

30.9 复制709

30.9.1 复制模型709

30.9.2 复制选项709

30.10 .NET中的服务器编程710

30.10.1 .NET基本概念710

30.10.2 SQL CLR宿主711

30.10.3 可扩展性协定711

30.11 XML支持712

30.11.1 本地存储和组织XML713

30.11.2 查询和更新XML数据类型713

30.11.3 XQuery表达式的执行714

30.12 SQL Server服务代理714

30.13 商务智能716

30.13.1 SQL Server集成服务716

30.13.2 SQL Server分析服务717

30.13.3 SQL Server报表服务718

文献注解718

第十部分 附录722

附录A 详细的大学模式722

参考文献729

索引754

热门推荐