《SQL Server数据库原理 设计与实现》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:周立柱等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302080895
  • 页数:395 页
图书介绍:本书从如何设计数据库管理系统的角度出发,深入介绍了SQL Server 2000的相关内容。其目的,是希望读者在阅读此书之后,能够学习到像SQL Server 2000这样优秀的数据库管理系统软件的设计与实现技术,进而掌握、提高设计这种大型复杂的系统软件的能力。全书围绕SQL Server 2000的核心部分——体系结构、存储系统、查询处理、并发控制、以及事务管理,分别叙述了各个部分的设计思想、基本算法、以及具体实现。此外,本书还对SQL Server 2000新的扩充部分数据仓库于联机分析处理、XML等也作了介绍。

目 录 1

第1章绪论 1

1.1数据库管理系统的通用功能与系统组成 1

1.2 SQL Server2000 3

1.3 SQLServer 2000技术特色 4

1.4本书的各章安排与内容 5

参考文献 5

2.1 SQLServer的客户/服务器方式 6

第2章SQL Server的体系结构 6

2.1.1 网络程序库(Net-Library) 7

2.1.2用户态调度器(LserModeScheduler,UMS) 9

2.1.3开放数据服务(Open Data Services,ODS) 9

2.2关系引擎与存储引擎 10

2.3存取方法管理器 12

2.3.1行操作管理器与索引管理器 12

2.3.2页面管理器与文本管理器 14

2.4事务管理器 15

2.5锁管理器 16

2.6内存管理器 17

2.7.1 日志管理 18

2.7.2检查点操作 18

2.7事务日志与故障恢复 18

2.7.3恢复过程 19

2.7.4使用页面LSN的恢复技术 20

2.8 SQL内核与操作系统间的交互 21

2.8.1线程处理与对称多进程处理 22

2.8.2工者线程池 23

2.9本章小结 24

2.8.3磁盘I/O操作 24

参考文献 25

第3章数据库与数据库文件 26

3.1 SQLServer系统数据库 27

3.1.1 master数据库 27

3.1.2 model数据库 27

3.1.3 tempdb数据库 28

3.1.4 pubs数据库 28

3.1.6 msdb数据库 29

3.2数据库文件 29

3.1.5 Northwind数据库 29

3.2.1基本知识 30

3.2.2 SQLServer数据库文件 30

3.SQL Server数据库文件组 31

3.3.1默认的文件组 32

3.3.2使用多个文件 32

3.3.3利用文件组创建数据库的实例 33

3.4 SQL Server数据库文件结构 34

3.4.1基本知识 34

3.4.2 SQLServer用户数据库 35

3.4.3 SQLServer的空间分配 37

3.5数据库的备份与恢复 40

3.5.1备份类型 40

3.5.2恢复模式 41

3.6本章小结 43

参考文献 43

第4章表的物理存储 44

4.1内部存储概述 45

4.2.2数据页的格式 47

4.2.1 基本知识 47

4.2数据页 47

4.2.3 SQLServer的数据页 50

4.2.4检查数据页 52

4.3数据行的结构 56

4.3.1基本知识 56

4.3.2 SQLServer的数据行结构 58

4.3.3列偏移数组 60

4.SQL Server中定长和变长行的存储 60

4.4.1定长行的存储 60

4.4.2变长列的存储 63

4.5 SQLServer的页链接 65

4.6文本和图像数据 65

4.6.1 LOB数据存储在表外 66

4.6.2 LOB数据存储在数据行 67

4.7 SQL Server的PRIMARY KEY和UNIQUE约束 71

4.7.1列值的可空性 71

4.7.2索引属性 72

4.7.3选择码 72

4.8.2全局临时表(##) 73

4.8.1私有临时表(#) 73

4.SQL Server的临时表 73

4.8.3直接使用tempdb 74

4.8.4临时表上的约束 74

4.9 SQLServer的系统表 75

4.10本章小结 78

参考文献 78

第5章索引及行操作 79

5.1.1堆文件 80

5.1.2 B树与B+树索引结构 80

5.1预备知识 80

5.2 SQLServer的索引组织 84

5.2.1簇集索引 85

5.2.2非簇集索引 86

5.3在SQLServer中创建索引 87

5.3.1 主要参数说明 88

5.3.2其他选项说明 88

5.3.3约束与索引 89

5.4SQL Server的索引页结构 90

5.4.1具有惟一标识符的簇集索引行 90

5.4.2索引行格式 93

5.4.3簇集索引的结点行 94

5.4.4非簇集索引的叶级行 99

5.4.5非簇集索引的结点行 104

5.5索引的空间需求 108

5.5.1 B树的大小 109

5.5.2索引的实际大小与估计大小 110

5.6索引的管理 111

5.6.1索引碎片的类型 111

5.6.2索引碎片的检测 111

5.6.3删除索引碎片 113

5.7SQL Server的特殊索引 114

5.7.1先决条件 114

5.7.2计算列上的索引 116

5.7.3索引视图 117

5.8索引的使用 117

5.8.1 查找行 118

5.8.2连接运算 118

5.8.3排序 118

5.9插入行 119

5.8.4分组聚集 119

5.8.5维护惟一性 119

5.10分裂页 120

5.10.1分裂索引的根页 120

5.10.2分裂索引的中间页 120

5.10.3分裂数据页 120

5.11删除行 124

5.11.1从堆中删除行 124

5.11.2从B树中删除行 127

5.12更新行 130

5.11.4回收页 130

5.11.3从索引的中间结点删除行 130

5.12.1移动行 131

5.12.2管理转向指针 133

5.12.3在位更新 133

5.12.4异位更新 133

5.13表级与索引级的数据更新 136

5.14本章小结 136

参考文献 136

6.1 SQL Server查询处理概述 137

第6章SQLServer查询处理 137

6.1.1 SQLServer查询的体系结构 138

6.1.2查询处理特点 140

6.2执行模型 142

6.2.1基本知识 142

6.2.2多种执行模型的介绍 143

6.2.3 SQLServer查询执行模型 144

6.3基本运算 148

6.3.1选择运算 148

6.2.4物理操作的顺序 148

6.3.2哈希 149

6.3.3排序 152

6.3.4其他操作 154

6.4连接 156

6.4.1嵌套循环连接 156

6.4.2归并连接 157

6.4.3 Hash连接 158

6.5聚集 167

6.5.1 基于嵌套循环的聚集算法 167

6.5.2基于排序的聚集 168

6.5.3基于哈希的聚集 169

6.6子查询处理 169

6.6.1 假设 170

6.6.2异步I/O 172

6.6.3避免I/O 172

6.6.4数据流 176

6.6.5控制流 178

参考文献 181

6.7本章小结 181

第7章SQLServer查询优化技术 183

7.1 概述 183

7.1.1基于代价的方法和启发式方法 184

7.1.2语法优化和语义优化 185

7.1.3新的优化方法 185

7.2 SQLServer的查询优化概述 186

7.2.1 Cascades查询优化器框架 187

7.2.2 MEMO结构 189

7.3.1优化模型 193

7.3 SQL Server优化策略 193

7.3.2优化时间 195

7.3.3转换及转换规则 195

7.3.4多阶段优化 199

7.4连接顺序的选择方法 201

7.5子查询的优化 210

7.6 SQLServer的物理优化 216

7.6.1查询分析 216

7.6.2如何选择索引 221

7.6.3连接算法的选择 229

7.7代价计算 230

7.7.1一般的代价计算方法 230

7.7.2选择运算 231

7.7.3排序和连接 235

7.7.4 SQLServer中统计信息的管理 235

7.8其他的辅助功能 237

7.8.1如何正确选择计划 237

7.8.2提示技术 237

7.8.3更新计划 238

7.9本章小结 238

参考文献 239

第8章事务 240

8.1事务概念 240

8.1.1事务基本性质 241

8.1.2事务生命周期 243

8.2 SQLServer 中的事务定义 244

8.2.1事务定义模式 244

8.2.2事务执行模式 245

8.2.3批处理、触发器中的事务 247

8.3.1平面事务 248

8.3 SQLServer中的事务模型 248

8.3.2嵌套事务 249

8.3.3保存点 251

8.3.4分布式事务 253

8.4事务调度 254

8.5事务隔离性级别 258

8.5.1并发调度中的不一致性现象 258

8.5.2 SQLServer中事务隔离性级别的定义 260

8.6本章小结 264

第9章并发控制 265

9.2.1基本锁模式 266

9.1基于锁的并发控制 266

9.2锁模式 266

9.2.2意向锁 269

9.2.3其他锁模式 271

9.2.4码区间锁 272

9.3锁资源 276

9.4锁持有度 278

9.5锁拥有者 279

9.6.1两段锁协议 280

9.6封锁协议 280

9.6.2两阶段提交协议 281

9.7显示锁信息 281

9.8锁管理器 290

9.8.1封锁体系结构 290

9.8.2锁块 292

9.8.3锁资源块 292

9.8.4锁拥有者块 294

9.9锁升级 294

9.10.1阻塞 295

9.10封锁产生的问题 295

9.10.3死锁 298

9.10.2活锁 298

9.11绑定连接 303

9.12强制封锁类型 305

9.13乐观并发控制原理 306

9.13.1有效性检查协议 307

9.13.2游标并发 307

9.14本章小结 309

10.1.1事务故障 310

第10章恢复 310

10.1故障类型 310

10.1.2系统故障 311

10.1.3介质故障 311

10.2 日志 312

10.2.1基本日志结构 312

10.2.2基于日志的恢复 313

10.2.3检查点 316

10.3.1 ARIES概述 318

10.3 ARIES算法介绍 318

10.3.2 ARIES中数据结构 320

10.3.3 ARIES的常规处理 322

10.3.4重启处理 323

10.4 SQLServer 中的备份与恢复 328

10.4.1备份类型 328

10.4.2将数据库还原到前一个状态 332

10.4.3恢复模型 333

10.5 SQLServer事务日志物理构架 335

10.5.2虚拟日志文件 336

10.5.1创建日志文件 336

10.5.3截断事务日志 338

10.5.4收缩日志文件 339

10.6 SQLServer事务日志逻辑构架 341

10.6.1事务日志内容 341

10.6.2日志管理器 342

10.6.3 SQLServer的检查点 343

10.7本章小结 345

参考文献 345

11.1.1数据仓库、OLAP与Data Mining基本框架 346

11.1多维数据模型及相关概念 346

第11章Analysis Services 2000概述 346

11.1.2基本概念 348

11.1.3星形模式(Star Schema) 351

11.1.4雪花模式(Snow Flake Schema) 351

11.1.5聚集(aggregation) 352

11.2 Analysis Serwices的体系结构和功能 354

11.3 Analysis Server的多维查询语言MDX及其处理 356

11.3.1 MDX的坐标系统 356

11.3.3轴维和切片维 357

11.3.2 MDX的语法格式 357

11.3.4 MDX查询示例 358

11.3.5 MDX语句的查询处理 360

11.4 Analysis Server的Cube处理 362

11.5 Analysis Server的数据挖掘 363

11.5.1 OLEDB for DM 363

11.5.2数据挖掘模型 364

11.5.3 Analysis Services数据挖掘三层体系结构 366

参考文献 369

11.6本章小结 369

第12章SQLXML——SQL Server对XML的支持 371

12.1 SQLServer对XML的支持 372

12.1.1连接两个世界的桥梁 372

12.1.2 SQL Serwer中支持XML访问的体系结构 373

12.1.3 SQLXML 373

12.2 SQLFOR XML查询 375

12.2.1 关系视图上的XML查询 375

12.2.2 FOR XML查询的几种模式 375

12.2.3生成XML形式查询结果的机制 378

12.3建立在关系数据上的XML视图 379

12.3.1 XML视图概述 379

12.3.2 利用带注释的映象模式在关系数据库上建立XML视图 380

12.3.3基于XML视图的XPath查询 384

12.3.4基于XML视图的更新 385

12.4 XML数据转换为关系数据 386

12.4.1 OpenXML 387

12.4.2 XML Bulk Load 389

12.5本章小结 394

参考文献 394