第1章SQL Server 2005的运行环境 1
1.1 SQL Server数据库简介 1
1.1.1 SQL Server数据库的发展历程 1
1.1.2 SQL Server 2005的新特性 2
1.2 SQL Server 2005的系统要求 3
1.2.1 SQL Server 2005版本 3
1.2.2硬件需求 4
1.2.3软件需求 5
1.2.4网络需求 5
1.3 SQL Server 2005的管理平台 6
1.3.1数据库引擎及Management Studio的使用 6
1.3.2 SQL Server 2005的实例 11
1.3.3新建查询 12
1.3.4 SQL Server 2005的服务项目 15
1.3.5系统数据库 16
1.4 SQL Server 2005的服务器管理 17
1.4.1注册服务器 17
1.4.2启动、暂停和关闭服务器 19
1.4.3配置服务器 21
1.5 SQL Server 2005的联机丛书和教程 23
1.5.1联机从书的使用 23
1.5.2教程的使用 25
1.6小结 25
习题 26
第2章 创建与管理数据库 27
2.1设计数据库 27
2.1.1基本概念 27
2.1.2设计数据库的规范化要求 28
2.1.3数据库的设计 29
2.1.4数据库的存储 31
2.2用户数据库的创建与修改 33
2.2.1用户数据库的创建 33
2.2.2修改数据库 39
2.2.3数据库文件的脚本生成 42
2.3管理数据库 45
2.3.1查看数据库状态信息 45
2.3.2数据库的属性设置 47
2.3.3估算数据库大小 49
2.3.4收缩数据库 50
2.3.5分离和附加用户数据库 52
2.3.6脱机和联机用户数据库 54
2.3.7删除数据库 55
2.4文件组的创建 56
2.5数据库快照和数据分区管理 59
2.5.1数据库快照 59
2.5.2数据分区管理 61
2.6小结 62
习题 62
第3章 表和数据完整性 64
3.1 SQL Server 2005的数据类型 64
3.1.1数值类型 64
3.1.2字符类型 65
3.1.3日期时间类型 66
3.1.4货币类型 66
3.1.5其他数据类型 67
3.2表的创建与维护 68
3.2.1表的类型 68
3.2.2表的创建 68
3.2.3数据浏览 77
3.2.4表结构的修改 78
3.2.5表数据的修改 81
3.2.6删除表 84
3.3数据的完整性 87
3.3.1数据完整性的类型 87
3.3.2约束 88
3.3.3规则 94
3.3.4默认值 96
3.3.5强制数据完整性 98
3.4数据库关系图 98
3.5数据的导入和导出 101
3.5.1数据转换概述 101
3.5.2导入数据 103
3.5.3导出数据 104
3.6小结 104
习题 104
第4章Transact-SQL语言基础 106
4.1了解Transact-SQL编程语言 106
4.1.1 Transact-SQL概述 106
4.1.2 Transact-SQL语句分类 108
4.2 Transact-SQL语法要素 108
4.2.1 Unicode码与ASCII码 108
4.2.2标识符 109
4.2.3常量 110
4.2.4变量 112
4.2.5注释 113
4.3 Transact-SQL运算符 114
4.3.1算术运算符 114
4.3.2比较运算符 114
4.3.3逻辑运算符 115
4.3.4字符串连接运算符 117
4.3.5位运算符 117
4.3.6赋值运算符 117
4.3.7运算符的优先级 117
4.4 Transact-SQL函数 118
4.4.1数学函数 118
4.4.2聚合函数 119
4.4.3时间日期函数 119
4.4.4转换函数 120
4.4.5字符串函数 122
4.4.6自定义函数 123
4.5 Transact-SQL表达式 123
4.6 Transact-SQL控制流语句 124
4.6.1 IF…ELSE语句 124
4.6.2 BEGIN…END语句 124
4.6.3 WHILE语句 125
4.6.4 CASE语句 126
4.6.5其他语句 128
4.7小结 131
习题 132
第5章 数据检索 133
5.1利用SELECT语句检索数据 133
5.1.1利用SELECT…FROM语句指定列 135
5.1.2利用WHERE子句指定行 136
5.1.3利用INTO子句生成新表 138
5.2数据过滤 138
5.2.1空值查询 138
5.2.2利用比较运算符查询 139
5.2.3利用字符串运算符查询 140
5.2.4利用逻辑运算符查询 141
5.2.5检索一定范围内的值 141
5.2.6利用列表值检索数据 142
5.3设置结果集格式 143
5.3.1改变列名 144
5.3.2利用ORDER BY子句排序 144
5.3.3消除重复行 146
5.3.4利用TOPn输出前n行 147
5.4 GROUP BY子句和HAVING子句 148
5.4.1 GROUP BY子句的使用 148
5.4.2 GROUP BY子句和HAVING子句的联合使用 149
5.5 COMPUTE语句和聚合函数的应用 150
5.5.1 COMPUTE语句的应用 150
5.5.2聚合函数的应用 152
5.6小结 154
习题 154
第6章Transact-SQL语句的高级应用 156
6.1多表连接 156
6.1.1连接概述 156
6.1.2内连接 157
6.1.3外连接 158
6.1.4交叉连接 160
6.1.5连接多个表 160
6.1.6合并多个结果集 161
6.2使用子查询 162
6.2.1子查询介绍 162
6.2.2利用子查询做表达式 163
6.2.3利用子查询关联数据 164
6.2.4利用子查询生成派生表 165
6.2.5利用子查询修改表数据 165
6.2.6 EXISTS和NOT EXISTS子句 166
6.3利用游标处理结果集 167
6.3.1游标的概念 167
6.3.2游标的运用 168
6.3.3游标的嵌套 172
6.3.4查看游标的信息 174
6.4管理大对象类型数据 177
6.5小结 182
习题 183
第7章 索引和视图 184
7.1规划索引 184
7.1.1索引的用途 184
7.1.2索引的类型 184
7.1.3设计索引的基本原则 185
7.2创建索引 186
7.2.1利用SQL Server Management Studio创建索引 186
7.2.2利用CREATE INDEX命令创建索引 187
7.3维护索引 190
7.3.1在SQL Server Management Studio中修改索引 190
7.3.2利用ALTER INDEX命令修改索引 190
7.3.3检测索引碎片 192
7.3.4索引重组 192
7.3.5索引重建 193
7.3.6查看索引信息 194
7.3.7删除索引 194
7.4统计信息及应用 195
7.4.1统计信息的收集 195
7.4.2统计信息的创建 196
7.4.3查看统计信息 197
7.4.4统计信息的更新 199
7.5视图的定义 200
7.5.1视图概念 200
7.5.2创建视图 200
7.5.3查看视图信息 206
7.6视图的修改 209
7.6.1在SQL Server Management Studio中修改视图 209
7.6.2利用ALTER VIEW命令修改视图 210
7.6.3视图重命名 211
7.6.4删除视图 212
7.7通过视图修改数据 213
7.8小结 217
习题 218
第8章 存储过程与触发器 220
8.1存储过程概述 220
8.1.1存储过程的类型 220
8.1.2存储过程的设计原则 221
8.1.3常用系统存储过程的使用 221
8.2创建和管理存储过程 222
8.2.1创建存储过程 222
8.2.2修改存储过程 225
8.2.3执行存储过程 226
8.3触发器概述 227
8.3.1触发器的作用 227
8.3.2触发器的分类 227
8.3.3触发器的工作原理 228
8.3.4创建触发器前应注意的问题 228
8.4创建和管理触发器 229
8.4.1创建触发器 229
8.4.2修改触发器 231
8.4.3删除触发器 232
8.4.4禁用触发器 232
8.4.5启用触发器 233
8.5小结 233
习题 234
第9章 事务和锁 236
9.1事务概述 236
9.1.1事务的特点 236
9.1.2事务的分类 237
9.2管理事务 238
9.2.1启动事务 238
9.2.2保存事务 241
9.2.3提交事务 241
9.2.4回滚事务 242
9.2.5自动提交事务 242
9.2.6事务嵌套 243
9.3管理并发数据访问 245
9.3.1并发的影响 245
9.3.2并发控制的类型 246
9.3.3事务的隔离级别 246
9.4管理锁 248
9.4.1锁的类型 248
9.4.2可以锁定的资源 249
9.4.3锁的兼容性 249
9.4.4死锁 250
9.4.5显示锁定信息 251
9.5小结 252
习题 252
第10章SQL Server 2005的安全管理 254
10.1 SQL Server 2005的安全性机制 254
10.1.1基本概念 255
10.1.2权限层次结构 256
10.1.3查询权限 256
10.2管理服务器范围的安全性 258
10.2.1 SQL Server 2005的验证模式 258
10.2.2服务器角色 260
10.2.3管理登录名 261
10.2.4管理凭据 265
10.3管理数据库范围的安全性 266
10.3.1数据库角色 266
10.3.2管理数据库用户 273
10.3.3特殊用户 275
10.4管理密钥与证书 276
10.4.1 SQL Server 2005的密码系统架构 276
10.4.2创建密钥 276
10.4.3创建证书 278
10.4.4加密实例 279
10.5权限管理 280
10.5.1语句权限 280
10.5.2对象权限 282
10.5.3解决权限冲突 285
10.6小结 285
习题 286
第11章 备份和还原 287
11.1备份和还原概述 287
11.1.1备份和还原的目的 287
11.1.2备份的时机 287
11.1.3备份和恢复的类型 289
11.1.4备份策略的选择 290
11.1.5恢复模式的设置 290
11.1.6在几种不同灾难情况下的恢复 293
11.2备份数据库 293
11.2.1创建备份设备 294
11.2.2执行完整数据库备份 295
11.2.3执行差异数据库备份 299
11.2.4执行事务日志备份 300
11.2.5执行文件或文件组的备份 302
11.3还原数据库 304
11.3.1从完整数据库备份中还原 305
11.3.2从差异数据库备份中还原 307
11.3.3从事务日志备份中还原 308
11.3.4从文件或文件组的备份中还原 311
11.4还原受损的系统数据库 312
11.5小结 314
习题 315
第12章 系统自动化任务管理 316
12.1 SQL Server代理 316
12.1.1配置SQL Server代理 317
12.1.2启动和停止SQL Server代理 319
12.1.3 SQL Server代理的安全性 321
12.2作业 322
12.2.1创建作业 322
12.2.2管理作业 325
12.2.3查看作业历史 326
12.3警报 328
12.3.1创建警报响应SQL Server错误 328
12.3.2删除警报 330
12.4操作员 330
12.4.1创建操作员 331
12.4.2为操作员分配警报 331
12.5维护计划 333
12.6小结 337
习题 338
第13章 复制与性能监视 339
13.1复制概述 339
13.1.1复制的发布模型 339
13.1.2复制类型 340
13.2创建复制 342
13.2.1创建发布 342
13.2.2创建订阅 346
13.2.3配置分发 351
13.3管理复制 353
13.3.1查看和修改发布属性 354
13.3.2查看和修改项目属性 355
13.3.3设置历史记录保持期 356
13.3.4查看发布服务器信息及执行任务 356
13.4如何查看SQL Server的当前活动 358
13.4.1监视SQL Server的目的 358
13.4.2使用活动监视器 359
13.4.3动态管理对象 362
13.5系统性能监视器的使用 364
13.5.1系统性能监视器的运行 364
13.5.2 SQL Server的性能对象 366
13.5.3监视SQL Server的任务 366
13.5.4利用SQL Server Profiler工具进行监视 368
13.6小结 372
习题 372
第14章SQL Server数据库应用系统开发 373
14.1数据库应用系统开发的一般过程 373
14.2数据库应用系统的开发过程 375
14.2.1 Visual studio.NET简介 375
14.2.2利用C#开发数据库应用系统的过程 375
14.3数据库系统开发实例——日用品销售管理系统 380
14.3.1开发背景与系统分析 380
14.3.2系统总体设计 381
14.3.3数据库设计 382
14.3.4系统模块功能的实现 384
14.3.5系统测试 386
14.3.6系统运行 387
14.4数据库系统开发的常见问题及处理 392
14.5小结 395
习题 395
参考文献 396