第1章 总揽全局:SQL Server 2008概述 1
1.1SQL Server简介 2
1.1.1 SQL Server的发展 2
1.1.2 SQL Server 2008版本性能介绍 2
1.1.3 Transact-SQL语言介绍 3
1.2SQL Server 2008构架设计与新特性 4
1.2.1 SQL Server 2008的构架 4
1.2.2 SQL Server 2008的新特性与改进 5
1.2.3 SQL Server 2008服务进程 7
1.3本章知识点综合应用 9
1.4本章小结 13
1.5本章习题 14
第2章 选取兵器:安装SQL Server 2008 15
2.1准备安装SQL Server 2008 16
2.1.1选择正确的SQL Server 2008数据库版本 16
2.1.2安装的硬件要求 17
2.1.3操作系统支持及软件要求 18
2.1.4基本安装选项 21
2.2安装过程 22
2.2.1什么是SQL Server实例 22
2.2.2安装SQL Server 2008 23
2.2.3如何查看SQL Server 2008安装日志文件 30
2.2.4验证安装 31
2.3配置服务器选项 33
2.4升级到SQL Server 2008 33
2.4.1升级之前要考虑的问题 33
2.4.2使用SQL Server 2008升级顾问 34
2.4.3升级到SQL Server 2008 36
2.5本章知识点综合应用 37
2.6本章小结 40
2.7本章习题 41
第3章 桩步必练:SQL Server Management Studio管理器 42
3.1SQL Server Management Studio简介 43
3.1.1启动SQL Server Management Studio工具 43
3.1.2连接已注册的服务器和对象资源管理器 43
3.1.3更改环境布局 45
3.1.4设置启动选项 47
3.1.5查询/代码编辑器 48
3.1.6使用模板资源管理器、解决方案、脚本项目 50
3.2使用SQL Server Management Studio设计数据库 52
3.2.1创建数据库 52
3.2.2附加数据库 53
3.3使用SQL Server Management Studio设计数据表 54
3.3.1新建数据表 54
3.3.2修改数据表 55
3.3.3查看表属性 56
3.3.4删除数据表 57
3.4使用SQL Server Management Studio创建索引 57
3.4.1创建主键索引 58
3.4.2创建唯一索引 58
3.4.3查看表的索引 59
3.4.4删除索引 60
3.5维护数据表 61
3.5.1在表中插入新列 61
3.5.2改变表中列的排列顺序 62
3.5.3自动编号列和标识符列 63
3.5.4可计算的列 63
3.5.5删除字段 64
3.6数据表的浏览 64
3.6.1查看表中所有的记录 65
3.6.2查看表的某条记录 65
3.7数据表中数据的维护 66
3.7.1添加新的记录 66
3.7.2修改现有记录 67
3.7.3删除记录 67
3.8本章知识点综合应用 68
3.9本章小结 71
3.10本章习题 71
第4章 初养内力:Transact-SQL语言入门 72
4.1Transact-SQL概述 73
4.2常量与变量 74
4.2.1常量 74
4.2.2变量 75
4.3基本运算 82
4.3.1算术运算 82
4.3.2逻辑运算 83
4.3.3字符串处理 84
4.3.4比较运算 85
4.3.5 null与空判断 86
4.3.6日期运算 87
4.3.7大值数据类型 88
4.4流程控制 88
4.4.1 IF...ELSE结构 89
4.4.2 IF EXISTS()结构 90
4.4.3 BEGIN...END结构 91
4.4.4 WHILE循环 92
4.4.5 GOTO语句 94
4.4.6 CASE语句 94
4.5游标 96
4.5.1游标概述 96
4.5.2声明游标 97
4.5.3打开游标 98
4.5.4使用游标 98
4.5.5关闭游标和释放游标 100
4.6编码风格 100
4.6.1关于大小写 100
4.6.2关于代码缩进与对齐 101
4.6.3代码注释与模块声明 101
4.7本章知识点综合应用 102
4.8本章小结 106
4.9本章习题 106
第5章 穿喉一剑:数据查询利器——SELECT命令 107
5.1执行SELECT命令的工具 108
5.1.1使用基于文本的查询设计器 108
5.1.2使用图形查询设计器 112
5.2简单数据查询 117
5.3TOP关键字 118
5.4ROWCOUNT关键字 123
5.5DISTINCT关键字 124
5.6WHERE子句 125
5.6.1在WHERE子句中使用比较运算符 126
5.6.2在WHERE子句中使用逻辑运算符 126
5.6.3 BETWEEN...AND结构 127
5.6.4 IN关键字 129
5.6.5 LIKE关键字 132
5.6.6 EXISTS关键字 135
5.7设置查询字段的显示名称 137
5.8使用统计函数 139
5.9 GROUP BY子句和HAVING关键字 141
5.10 ALL关键字 144
5.11 ORDER BY子句 145
5.12多表查询 147
5.13 UNION表达式 150
5.14 CASE表达式 151
5.15 INNER JOIN...ON...表达式 152
5.16本章知识点综合应用 154
5.17本章小结 159
5.18本章习题 160
第6章 心无旁鹜:数据处理 161
6.1插入数据 162
6.1.1使用图形查询设计器插入数据 162
6.1.2简单的INSERT语句向表添加一条记录 164
6.1.3使用SELECT语句 166
6.2更新数据 169
6.2.1使用图形查询设计器更新数据 169
6.2.2批量修改 171
6.2.3条件修改 172
6.3删除数据 174
6.3.1使用图形查询设计器删除数据 175
6.3.2普通的DELETE删除语句 175
6.3.3 TRUNCATE TABLE语句 177
6.3.4对游标的当前行使用DELETE 178
6.4本章知识点综合应用 179
6.5本章小结 185
6.6本章习题 185
第7章 形神合一:视图 186
7.1了解视图 187
7.1.1什么是视图 187
7.1.2视图的种类 188
7.1.3视图的优点 188
7.1.4视图的约束 188
7.2在SQL Server Management Studio中创建视图 189
7.2.1使用SQL Server Management Studio创建标准视图 189
7.2.2查看视图的结构信息 191
7.2.3查询视图数据 193
7.3用CREATE VIEW创建视图 194
7.3.1使用CREATE VIEW创建视图的示例 194
7.3.2基本语法 195
7.3.3操作示例 196
7.4单击查看名人信息——ListView的应用 200
7.4.1使用SQL Server Management Studio修改简单的视图 200
7.4.2使用SQL Server Management Studio修改视图的一般过程 202
7.5用ALTER VIEW修改视图 203
7.5.1使用ALTER VIEW修改视图的示例 203
7.5.2基本语法 205
7.5.3操作示例 206
7.6通过视图修改数据 209
7.6.1使用视图修改数据的示例 209
7.6.2操作说明总结 211
7.7在 SQL Server Management Studio中删除视图 212
7.7.1使用SQL Server Management Studio删除视图的示例 212
7.7.2使用SQL Server Management Studio删除视图的一般过程 212
7.8用DROP VIEW删除视图 213
7.8.1基本语法 213
7.8.2使用DROP VIEW创建视图的示例 213
7.9本章知识点综合应用 213
7.10本章小结 220
7.11本章习题 221
第8章 以静制动:存储过程 222
8.1存储过程概述 223
8.2设计存储过程 223
8.3创建存储过程 224
8.3.1在SQL Server Management Studio中创建存储过程 224
8.3.2用CREATE PROCEDURE语句创建存储过程 226
8.4修改存储过程 231
8.4.1在SQL Server Management Studio中修改存储过程 231
8.4.2用ALTER PROCEDURER语句修改存储过程 233
8.5执行存储过程 235
8.5.1在SQL Server Management Studio中执行存储过程 235
8.5.2用EXECUTE语句执行存储过程 237
8.6删除存储过程 238
8.6.1在SQL Server Management Studio中删除存储过程 238
8.6.2用DROP PROCEDURE语句删除存储过程 238
8.7常用系统存储过程 239
8.7.1 sp_help存储过程 239
8.7.2 sp_rename、sp_renamedb存储过程 240
8.7.3常用系统存储过程分类 241
8.8建立CLR存储过程 244
8.9 本章知识点综合应用 248
8.10本章小结 255
8.11本章习题 256
第9章 以一敌百:函数 257
9.1函数概述 258
9.1.1函数的结构 258
9.1.2函数的类型 258
9.1.3使用函数的优点 258
9.2设计用户定义函数 259
9.2.1选择函数类型 259
9.2.2函数与存储过程 259
9.3创建用户定义函数 260
9.3.1在SQL Server Management Studio中建立用户自定义函数 260
9.3.2用CREATE FUNCTION语句创建函数 262
9.4执行用户定义函数 265
9.4.1执行的位置 265
9.4.2执行用户定义函数的例子 266
9.5删除用户定义函数 267
9.5.1在 SQL Server Management Studio中删除用户定义函数 267
9.5.2用DROP FUNCTION语句删除用户定义函数 268
9.6常用内置函数 269
9.6.1聚合函数 269
9.6.2配置函数 271
9.6.3游标函数 273
9.6.4日期和时间函数 273
9.6.5数学函数 274
9.6.6元数据函数 275
9.6.7排名函数 277
9.6.8行集函数 277
9.6.9安全函数 278
9.6.10字符串函数 279
9.6.11系统函数 280
9.6.12系统统计函数 282
9.6.13文本和图像函数 283
9.7创建CLR函数 283
9.7.1创建CLR函数的一般步骤 283
9.7.2使用CLR函数的优点 284
9.7.3创建CLR函数的实例 284
9.8本章知识点综合应用 287
9.9本章小结 292
9.10本章习题 292
第10章 张弛有度:约束 294
10.1约束概述 295
10.1.1数据完整性 295
10.1.2约束的概念和类型 296
10.2设计约束 296
10.2.1定义约束的方式 297
10.2.2定义约束的语法结构 297
10.3主键约束 298
10.3.1一个主键约束的示例 298
10.3.2使用表设计器定义主键约束 299
10.3.3使用T-SQL定义主键约束 300
10.4外键约束 302
10.4.1一个外键约束的示例 302
10.4.2使用表设计器定义外键约束 304
10.4.3使用T-SQL定义外键约束 309
10.5 UNIQUE约束 310
10.5.1一个UNIQUE约束的示例 310
10.5.2使用表设计器定义UNIQUE约束 313
10.5.3使用T-SQL定义UNIQUE约束 315
10.6 CHECK约束 316
10.6.1一个CHECK约束的示例 317
10.6.2使用表设计器定义CHECK约束 317
10.6.3使用T-SQL定义CHECK约束 320
10.7 DEFAULT约束 320
10.7.1使用表设计器定义DEFAULT约束 321
10.7.2使用T-SQL定义DEFAULT约束 321
10.8禁用约束 322
10.8.1对复制禁用外键约束 322
10.8.2对复制禁用CHECK约束 323
10.8.3对INSERT和UPDATE语句禁用外键约束 324
10.8.4对INSERT和UPDATE语句禁用CHECK约束 325
10.9本章知识点综合应用 325
10.10本章小结 329
10.11本章习题 330
第11章 触发器 331
11.1触发器概述 332
11.1.1触发器的作用 332
11.1.2触发器的分类 332
11.1.3触发器的工作原理 333
11.2设计触发器 333
11.2.1理解AFTER、 INSTEAD OF触发器的使用要求 333
11.2.2创建触发器前应考虑的问题 334
11.3创建触发器 334
11.3.1在SQL Server Management Studio中创建触发器的步骤 334
11.3.2使用CREATE TRIGGER语句创建触发器 337
11.4修改触发器 339
11.4.1在SQL Server Management Studio中修改触发器的步骤 339
11.4.2使用ALTER TRIGGER语句修改触发器 340
11.5删除触发器 342
11.5.1使用SQL Server Management Studio删除触发器 342
11.5.2使用DROP TRIGGER语句删除触发器 343
11.6禁用/启用触发器 344
11.6.1禁用触发器 344
11.6.2启用触发器 346
11.7设计CLR触发器 348
11.7.1创建CLR触发器的一般步骤 348
11.7.2创建CLR触发器的示例 349
11.8设计DDL触发器 353
11.8.1 CREATE TRIGGER创建DDL触发器的语法 353
11.8.2使用CREATE TRIGGER创建DDL触发器的示例 354
11.9本章知识点综合应用 355
11.10本章小结 360
11.11本章习题 360
第12章 循规蹈矩:事务和锁 361
12.1事务 362
12.1.1事务的特点 362
12.1.2启动事务(BEGIN TRANSACTION) 362
12.1.3保存事务(SAVE TRANSACTION) 364
12.1.4提交事务(COMMIT TRANSACTION) 365
12.1.5回滚事务(ROLLBACK TRANSACTION) 366
12.1.6自动提交事务 369
12.1.7显式事务 371
12.1.8隐式事务 373
12.1.9事务嵌套 375
12.2管理并发数据访问 379
12.2.1并发的影响 379
12.2.2并发控制的类型 380
12.2.3事务的隔离级别 380
12.3锁定 381
12.3.1可以锁定的资源 381
12.3.2锁模式 382
12.3.3死锁 383
12.4本章知识点综合应用 384
12.5本章小结 386
12.6本章习题 387
第13章 化繁为简:索引和查询优化 388
13.1索引概述 389
13.1.1聚集索引和非聚集索引 389
13.1.2填充因子 389
13.1.3使用目录视图查看索引 389
13.2用CREATE INDEX语句创建索引 391
13.2.1基本语法 391
13.2.2创建简单的复合索引 394
13.2.3创建唯一索引 395
13.2.4创建聚集索引 397
13.2.5指定索引存放的文件组 399
13.3用ALTER INDEX语句修改索引 400
13.3.1基本语法 400
13.3.2设置索引的选项 401
13.3.3禁用/启用索引 402
13.4用DROPINDEX语句删除索引 404
13.4.1基本语法 404
13.4.2使用DROP INDEX删除聚集索引并将表移动到新文件组 405
13.4.3使用DROPINDEX删除PRIMARY KEY约束 408
13.5重新组织和重新生成索引 410
13.5.1理解重新组织、生成索引 410
13.5.2重新组织索引 411
13.5.3重新生成索引 413
13.6本章知识点综合应用 414
13.7本章小结 415
13.8本章习题 416
第14章 以进为退:数据库备份与恢复 417
14.1备份与恢复简介 418
14.1.1备份类型 418
14.1.2恢复模式 419
14.1.3如何备份数据库 421
14.1.4数据库备份到哪里 422
14.2在SQL Server Management Studio中备份数据库 424
14.3用T-SQL语言备份数据库 428
14.3.1完整备份与差异备份 428
14.3.2备份文件和文件组 431
14.3.3事务日志备份 432
14.4备份设备管理 434
14.4.1查看备份设备的内容 434
14.4.2通过备份设备来备份数据库 436
14.4.3验证备份的内容 437
14.4.4删除备份设备 438
14.5在SQL Server Management Studio中还原数据库 440
14.5.1还原数据库的方式 440
14.5.2还原数据库前要注意的事项 440
14.5.3还原数据库备份 440
14.5.4还原文件和文件组备份 444
14.5.5从现有的备份创建新的数据库 446
14.6用T-SQL语言还原数据库 448
14.6.1还原完整备份 448
14.6.2还原差异备份 451
14.6.3还原事务日志备份 452
14.6.4还原文件和文件组备份 452
14.6.5将数据库还原到某个时间点 453
14.6.6将文件还原到新位置上 454
14.7建立自动备份的维护计划 454
14.8本章知识点综合应用 458
14.8本章小结 461
14.9本章习题 461
第15章 攻防相守:SQL Server 2008的安全 462
15.1 SQL Server 2008的身份验证模式 463
15.2访问权限 465
15.3用户和登录名 466
15.3.1创建SQL Server登录名 466
15.3.2添加用户 467
15.3.3使用新登录名登录 469
15.3.4为用户设置权限 470
15.4角色 476
15.4.1角色介绍 476
15.4.2服务器角色 477
15.4.3将用户设为服务器角色成员 477
15.4.4数据库角色 477
15.4.5将用户设为数据库角色成员 478
15.4.6创建用户自定义数据库角色 479
15.4.7应用程序角色 481
15.4.8创建应用程序角色 481
15.4.9使用应用程序角色 483
15.5架构 485
15.6确保数据库服务器的安全 486
15.7本章知识点综合应用 488
15.8本章小结 491
15.9本章习题 492