书籍详情

SQL Server数据库原理:设计与实现

SQL Server数据库原理:设计与实现

作者:周立柱[等]编著

出版社:清华大学出版社

出版时间:2004-03-01

ISBN:9787302080893

定价:¥42.00

购买这本书可以去
内容简介
  清华社 & 微软公司 联袂打造“微软新技术教材”(专题) 本书从如何设计数据库管理系统的角度出发,深入介绍了SQL Server 2000的相关内容,目的是希望读者在阅读此书之后,能够学习到像SQL Server 2000这样优秀的数据库管理系统软件的设计与实现技术,进而掌握、提高设计这种大型复杂的系统软件的能力。全书围绕SQL Server 2000的核心部分——体系结构、存储系统、查询处理、并发控制,以及事务管理,分别叙述了各个部分的设计思想、基本算法,以及具体实现。此外,本书还对SQL Server 2000新的扩充部分数据仓库联机分析处理、XML等也作了介绍。 本书可作为高年级计算机及相关专业数据库教材,适于高校师生选用。
作者简介
暂缺《SQL Server数据库原理:设计与实现》作者简介
目录
第1章绪论 1
1.1数据库管理系统的通用功能与系统组成 1
1.2SQLServer2000 3
1.3SQLServer2000技术特色 4
1.4本书的各章安排与内容 5
参考文献 5

第2章SQLServer的体系结构 6
2.1SQLServer的客户/服务器方式 6
2.1.1网络程序库(Net-Library) 7
2.1.2用户态调度器(UserModeScheduler,UMS) 9
2.1.3开放数据服务(OpenDataServices,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事务日志与故障恢复 18
2.7.1日志管理 18
2.7.2检查点操作 18
2.7.3恢复过程 19
2.7.4使用页面LSN的恢复技术 20
2.8SQL内核与操作系统间的交互 21
2.8.1线程处理与对称多进程处理 22
2.8.2工者线程池 23
2.8.3磁盘I/O操作 24
2.9本章小结 24
参考文献 25

第3章数据库与数据库文件 26
3.1SQLServer系统数据库 27
3.1.1master数据库 27
3.1.2model数据库 27
3.1.3tempdb数据库 28
3.1.4pubs数据库 28
3.1.5Northwind数据库 29
3.1.6msdb数据库 29
3.2数据库文件 29
3.2.1基本知识 30
3.2.2SQLServer数据库文件 30
3.3SQLServer数据库文件组 31
3.3.1默认的文件组 32
3.3.2使用多个文件 32
3.3.3利用文件组创建数据库的实例 33
3.4SQLServer数据库文件结构 34
3.4.1基本知识 34
3.4.2SQLServer用户数据库 35
3.4.3SQLServer的空间分配 37
3.5数据库的备份与恢复 40
3.5.1备份类型 40
3.5.2恢复模式 41
3.6本章小结 43
参考文献 43

第4章表的物理存储 44
4.1内部存储概述 45
4.2数据页 47
4.2.1基本知识 47
4.2.2数据页的格式 47
4.2.3SQLServer的数据页 50
4.2.4检查数据页 52
4.3数据行的结构 56
4.3.1基本知识 56
4.3.2SQLServer的数据行结构 58
4.3.3列偏移数组 60
4.4SQLServer中定长和变长行的存储 60
4.4.1定长行的存储 60
4.4.2变长列的存储 63
4.5SQLServer的页链接 65
4.6文本和图像数据 65
4.6.1LOB数据存储在表外 66
4.6.2LOB数据存储在数据行 67
4.7SQLServer的PRIMARYKEY和UNIQUE约束 71
4.7.1列值的可空性 71
4.7.2索引属性 72
4.7.3选择码 72
4.8SQLServer的临时表 73
4.8.1私有临时表(#) 73
4.8.2全局临时表(##) 73
4.8.3直接使用tempdb 74
4.8.4临时表上的约束 74
4.9SQLServer的系统表 75
4.10本章小结 78
参考文献 78

第5章索引及行操作 79
5.1预备知识 80
5.1.1堆文件 80
5.1.2B树与B+树索引结构 80
5.2SQLServer的索引组织 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.4SQLServer的索引页结构 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.1B树的大小 109
5.5.2索引的实际大小与估计大小 110
5.6索引的管理 111
5.6.1索引碎片的类型 111
5.6.2索引碎片的检测 111
5.6.3删除索引碎片 113
5.7SQLServer的特殊索引 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.8.4分组聚集 119
5.8.5维护惟一性 119
5.9插入行 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.11.3从索引的中间结点删除行 130
5.11.4回收页 130
5.12更新行 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章SQLServer查询处理 137
6.1SQLServer查询处理概述 137
6.1.1SQLServer查询的体系结构 138
6.1.2查询处理特点 140
6.2执行模型 142
6.2.1基本知识 142
6.2.2多种执行模型的介绍 143
6.2.3SQLServer查询执行模型 144
6.2.4物理操作的顺序 148
6.3基本运算 148
6.3.1选择运算 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.3Hash连接 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
6.7本章小结 181
参考文献 181

第7章SQLServer查询优化技术 183
7.1概述 183
7.1.1基于代价的方法和启发式方法 184
7.1.2语法优化和语义优化 185
7.1.3新的优化方法 185
7.2SQLServer的查询优化概述 186
7.2.1Cascades查询优化器框架 187
7.2.2MEMO结构 189
7.3SQLServer优化策略 193
7.3.1优化模型 193
7.3.2优化时间 195
7.3.3转换及转换规则 195
7.3.4多阶段优化 199
7.4连接顺序的选择方法 201
7.5子查询的优化 210
7.6SQLServer的物理优化 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.4SQLServer中统计信息的管理 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.2SQLServer中的事务定义 244
8.2.1事务定义模式 244
8.2.2事务执行模式 245
8.2.3批处理.触发器中的事务 247
8.3SQLServer中的事务模型 248
8.3.1平面事务 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.2SQLServer中事务隔离性级别的定义 260
8.6本章小结 264

第9章并发控制 265
9.1基于锁的并发控制 266
9.2锁模式 266
9.2.1基本锁模式 266
9.2.2意向锁 269
9.2.3其他锁模式 271
9.2.4码区间锁 272
9.3锁资源 276
9.4锁持有度 278
9.5锁拥有者 279
9.6封锁协议 280
9.6.1两段锁协议 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封锁产生的问题 295
9.10.1阻塞 295
9.10.2活锁 298
9.10.3死锁 298
9.11绑定连接 303
9.12强制封锁类型 305
9.13乐观并发控制原理 306
9.13.1有效性检查协议 307
9.13.2游标并发 307
9.14本章小结 309

第10章恢复 310
10.1故障类型 310
10.1.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.3ARIES算法介绍 318
10.3.1ARIES概述 318
10.3.2ARIES中数据结构 320
10.3.3ARIES的常规处理 322
10.3.4重启处理 323
10.4SQLServer中的备份与恢复 328
10.4.1备份类型 328
10.4.2将数据库还原到前一个状态 332
10.4.3恢复模型 333
10.5SQLServer事务日志物理构架 335
10.5.1创建日志文件 336
10.5.2虚拟日志文件 336
10.5.3截断事务日志 338
10.5.4收缩日志文件 339
10.6SQLServer事务日志逻辑构架 341
10.6.1事务日志内容 341
10.6.2日志管理器 342
10.6.3SQLServer的检查点 343
10.7本章小结 345
参考文献 345

第11章AnalysisServices2000概述 346
11.1多维数据模型及相关概念 346
11.1.1数据仓库.OLAP与DataMining基本框架 346
11.1.2基本概念 348
11.1.3星形模式(StarSchema) 351
11.1.4雪花模式(SnowFlakeSchema) 351
11.1.5聚集(aggregation) 352
11.2AnalysisServices的体系结构和功能 354
11.3AnalysisServer的多维查询语言MDX及其处理 356
11.3.1MDX的坐标系统 356
11.3.2MDX的语法格式 357
11.3.3轴维和切片维 357
11.3.4MDX查询示例 358
11.3.5MDX语句的查询处理 360
11.4AnalysisServer的Cube处理 362
11.5AnalysisServer的数据挖掘 363
11.5.1OLEDBforDM 363
11.5.2数据挖掘模型 364
11.5.3AnalysisServices数据挖掘三层体系结构 366
11.6本章小结 369
参考文献 369

第12章SQLXML--SQLServer对XML的支持 371
12.1SQLServer对XML的支持 372
12.1.1连接两个世界的桥梁 372
12.1.2SQLServer中支持XML访问的体系结构 373
12.1.3SQLXML 373
12.2SQLFORXML查询 375
12.2.1关系视图上的XML查询 375
12.2.2FORXML查询的几种模式 375
12.2.3生成XML形式查询结果的机制 378
12.3建立在关系数据上的XML视图 379
12.3.1XML视图概述 379
12.3.2利用带注释的映象模式在关系数据库上建立XML视图 380
12.3.3基于XML视图的XPath查询 384
12.3.4基于XML视图的更新 385
12.4XML数据转换为关系数据 386
12.4.1OpenXML 387
12.4.2XMLBulkLoad 389
12.5本章小结 394
参考文献 394
猜您喜欢

读书导航