第1章 SQL Server 2005入门必备 1
1.1 数据库 1
1.1.1 数据库概念 2
1.1.2 数据库模型 2
1.2 关系数据库 4
1.2.1 关系数据库发展历程 4
1.2.2 关系数据库术语 4
1.2.3 关系数据库管理系统功能 5
1.2.4 关系模型完整性规则 6
1.3 数据库基础理论 7
1.3.1 范式 7
1.3.2 实体模型 9
1.3.3 关系模型 10
1.4 SQL Server 2005概述 11
1.4.1 SQL Server 2005简介 11
1.4.2 SQL Server 2005新增特性 13
1.4.3 SQL Server 2005和Windows 14
1.5 安装和配置 16
1.5.1 准备安装 16
1.5.2 开始安装 17
1.5.3 配置 20
1.6 管理工具 22
1.6.1 SQL Server联机丛书 22
1.6.2 SQL Server Management Studio 23
1.6.3 Business Intelligence Development Studio 24
1.6.4 SQL Server Configuration Manager 24
1.6.5 SQL Server外围应用配置器 25
1.6.6 Reporting Servuces配置 25
1.6.7 数据库引擎优化顾问 26
1.6.8 命令行工具 26
1.7 实验指导 27
1.8 思考与练习 30
第2章 数据库和表 32
2.1 数据库 32
2.1.1 数据库对象及构成 32
2.1.2 系统数据库 34
2.1.3 示例数据库 34
2.2 创建数据库 35
2.2.1 使用SQL Server Management Studio创建数据库 35
2.2.2 使用Transact-SQL创建数据库 37
2.3 管理数据库 39
2.3.1 修改数据库 39
2.3.2 优化数据库 41
2.4 数据库快照 42
2.4.1 数据库快照概述 43
2.4.2 创建数据库快照 44
2.5 表 45
2.5.1 表概述 45
2.5.2 创建表 47
2.5.3 管理表 50
2.5.4 分区表 54
2.6 数据库关系图 54
2.6.1 创建数据库关系图 55
2.6.2 建立实体关系 56
2.7 实验指导 57
2.8 思考与练习 59
第3章 管理SQL Server 2005安全 61
3.1 SQL Server2005安全机制 61
3.1.1 新增安全特性 61
3.1.2 SQL Server 2005安全概况 62
3.2 SQL Server 2005验证模式 63
3.2.1 Windows身份验证 64
3.2.2 混合安全 65
3.2.3 配置身份验证模式 66
3.3 管理登录名和用户 67
3.3.1 系统登录名 67
3.3.2 系统数据库用户 69
3.3.3 配置登录名 70
3.3.4 配置数据库用户 71
3.4 管理角色 73
3.4.1 服务器角色 73
3.4.2 数据库角色 74
3.5 管理服务器角色 76
3.5.1 将登录指派到角色 76
3.5.2 指派角色到多个登录 77
3.6 管理数据库角色 78
3.6.1 将登录指派到角色 78
3.6.2 标准数据库角色 80
3.6.3 应用程序角色 81
3.7 管理权限 84
3.7.1 权限概述 84
3.7.2 权限操作 85
3.8 实验指导 87
3.9 思考与练习 90
第4章 SELECT基础 92
4.1 SELECT基础语法 92
4.1.1 SELECT语法概述 92
4.1.2 使用SELECT语句 94
4.2 WHERE子句 97
4.2.1 WHERE子句概述 97
4.2.2 使用比较运算符 98
4.2.3 使用逻辑运算符 99
4.2.4 使用IN条件 101
4.2.5 使用BETWEEN条件 103
4.2.6 使用LIKE匹配 104
4.2.7 使用IS NULL条件 108
4.3 GROUP BY子句 109
4.4 HAVING子句 113
4.5 ORDER BY子句 115
4.6 实验指导 116
4.7 思考与练习 119
第5章 高级SELECT查询 122
5.1 连接多个表 122
5.1.1 基本连接 122
5.1.2 JOIN关键字 124
5.1.3 内连接 125
5.1.4 外连接 127
5.1.5 交叉连接 129
5.1.6 自连接 130
5.1.7 联合查询 131
5.2 使用子查询 132
5.2.1 返回多行的子查询 132
5.2.2 返回单行的子查询 135
5.2.3 嵌套子查询 135
5.3 XML查询 136
5.3.1 XML数据类型 136
5.3.2 XQuery查询方法 137
5.3.3 FOR XML子句 141
5.4 新增语句 144
5.4.1 TOP子句 144
5.4.2 通用表达式 146
5.4.3 INTERSECT和EXCEPT 147
5.5 实验指导 148
5.6 思考与练习 150
第6章 数据修改 152
6.1 INSERT语句 152
6.1.1 INSERT VALUES语句 152
6.1.2 INSERT SELECT语句 154
6.1.3 使用SELECT INTO语句插入数据 156
6.1.4 添加大容量行操作 157
6.2 UPDATE语句 158
6.2.1 修改表中的数据行 158
6.2.2 利用SELECT语句更新值 160
6.3 DELETE语句 162
6.3.1 使用DELETE语句 162
6.3.2 使用TRUNCATE TABLE语句 164
6.4 新增语句 165
6.4.1 ON DELETE和ON UPDATE 165
6.4.2 OUTPUT语句 168
6.5 实验指导 170
6.6 思考与练习 172
第7章 T-SQL编程 173
7.1 Transact-SQL简介 173
7.1.1 Transact-SQL语言类型 174
7.1.2 Transact-SQL语言与SQL语言 175
7.2 编程语法 175
7.2.1 变量和常量 176
7.2.2 运算符 177
7.2.3 表达式 182
7.2.4 控制语句 182
7.2.5 注释 183
7.3 PIVOT和UNPIVOT操作符 184
7.3.1 PIVOT操作符 184
7.3.2 UNPIVOT操作符 185
7.4 事务 186
7.4.1 事务概述 186
7.4.2 ACID属性 188
7.4.3 管理事务 189
7.4.4 分布式事务 191
7.5 锁 192
7.5.1 并发问题 192
7.5.2 锁模式 193
7.5.3 查看锁 194
7.6 游标 196
7.6.1 游标概述 197
7.6.2 使用游标 197
7.7 实验指导 201
7.8 思考与练习 202
第8章 数据库完整性 204
8.1 数据库完整性概述 204
8.1.1 数据库完整性及其作用 204
8.1.2 数据库完整性设计 205
8.2 约束 206
8.2.1 PRIMARY KEY约束 206
8.2.2 FOREIGN KEY约束 208
8.2.3 UNIQUE约束 209
8.2.4 CHECK约束 210
8.2.5 DEFAULT约束 211
8.2.6 NOT NULL约束 211
8.3 默认值 212
8.3.1 创建默认值 212
8.3.2 绑定默认值 213
8.3.3 查看默认值 215
8.3.4 删除默认值 215
8.4 规则 216
8.4.1 创建规则 216
8.4.2 绑定规则 217
8.4.3 查看规则 218
8.4.4 删除规则 219
8.5 自定义函数 220
8.5.1 标量值自定义函数 220
8.5.2 内联表值自定义函数 222
8.5.3 多语句表值自定义函数 223
8.5.4 查看自定义函数 226
8.5.5 修改和删除自定义函数 227
8.6 用户定义数据类型 228
8.6.1 创建用户定义数据类型 228
8.6.2 查看用户定义数据类型 230
8.6.3 删除用户定义数据类型 231
8.7 实验指导 232
8.8 思考与练习 233
第9章 使用索引和视图 235
9.1 索引 235
9.1.1 索引概述 235
9.1.2 索引类型 236
9.2 创建索引 239
9.2.1 使用图形工具创建索引 240
9.2.2 使用CREATE INDEX创建索引 241
9.3 管理索引 243
9.3.1 修改和删除索引 243
9.3.2 查看索引信息 245
9.4 视图 247
9.4.1 视图概述 248
9.4.2 创建视图 249
9.5 管理视图 251
9.5.1 修改和删除视图 252
9.5.2 查看视图信息 254
9.6 通过视图修改数据 255
9.6.1 使用INSERT插入数据 256
9.6.2 使用UPDATE更新数据 257
9.6.3 使用DELETE删除数据 258
9.7 数据库引擎优化顾问 259
9.8 实验指导 260
9.9 思考与练习 263
第10章 存储过程和触发器 265
10.1 存储过程概述 265
10.1.1 了解存储过程概述 265
10.1.2 存储过程特性 266
10.2 使用存储过程 267
10.2.1 创建存储过程 267
10.2.2 执行存储过程 270
10.2.3 存储过程参数 273
10.2.4 编译存储过程 276
10.2.5 管理存储过程 277
10.3 其他存储过程 279
10.3.1 系统存储过程 279
10.3.2 扩展存储过程 281
10.4 触发器简介 282
10.4.1 触发器概述 283
10.4.2 触发器类型 284
10.4.3 创建触发器 284
10.5 DML触发器 285
10.5.1 AFTER触发器 286
10.5.2 INSTEAD OF触发器 290
10.6 DDL触发器 291
10.7 管理触发器 292
10.8 实验指导 295
10.9 思考与练习 297
第11章 数据库备份与恢复 299
11.1 备份 299
11.1.1 备份概述 299
11.1.2 备份类型 300
11.2 备份设备 301
11.2.1 备份设备的类型 302
11.2.2 创建备份设备 303
11.2.3 管理备份设备 305
11.3 创建数据库备份 307
11.3.1 创建完整备份 307
11.3.2 创建差异数据库备份 311
11.3.3 创建事务日志备份 314
11.3.4 创建文件组备份 318
11.4 设计数据库备份策略 321
11.5 恢复数据库 323
11.5.1 使用SQL Server Management Studio工具恢复数据 323
11.5.2 使用RESTORE语句恢复数据 325
11.6 复制数据库 328
11.7 实验指导 329
11.8 思考与练习 330
第12章 .NET集成性 332
12.1 什么是.NET 332
12.1.1 .NET概述 332
12.1.2 .NET与SQL Server 2005 334
12.2 创建.NET程序 335
12.2.1 创建SQL Server项目 335
12.2.2 用户自定义函数 336
12.2.3 存储过程 339
12.2.4 触发器 341
12.2.5 用户定义类型 343
12.3 数据访问概述 346
12.3.1 System.Data.SqlClient命名空间 347
12.3.2 ADO.NET 2.0 347
12.3.3 System.Data.SqlTypes命名空间 353
12.4 实验指导 354
12.5 思考与练习 356
第13章 SQL Server 2005服务简介 358
13.1 SQL Server 2005服务体系 358
13.1.1 SQL Server 2005面向开发者特性 358
13.1.2 SQL Server 2005服务平台 359
13.2 集成服务 360
13.2.1 集成服务概述 360
13.2.2 集成服务体系结构 361
13.2.3 创建包 363
13.2.4 运行包 365
13.2.5 部署包 366
13.3 分析服务 368
13.3.1 分析服务概述 368
13.3.2 分析服务术语 369
13.4 通知服务 371
13.4.1 通知服务概述 371
13.4.2 通知服务组件 371
13.4.3 通知服务术语 372
13.5 报表服务 373
13.5.1 报表服务概述 373
13.5.2 创建报表 374
13.5.3 发布报表 379
13.6 实验指导 381
13.7 思考与练习 383
附录 思考与练习答案 384