第一部分 SQL Server 2005简介 2
第1章 SQL Server 2005概述 2
1.1 什么是SQL Server 2005 2
1.2 SQL Server 2005新增功能与特性 3
1.2.1 数据库引擎 3
1.2.2 集成服务 4
1.2.3 分析服务 5
1.2.4 通知服务 7
1.2.5 报表服务 8
1.2.6 Service Broker服务中介 9
1.3 安装SQL Server 2005 10
1.3.1 SQL Server的版本特点 10
1.3.2 SQL Server 2005的安装 11
1.4 配置SQL Server 2005 16
1.4.1 验证安装 16
1.4.2 注册服务器 18
1.4.3 配置服务器 19
第2章 数据库原理 26
2.1 数据库技术 26
2.1.1 数据管理发展趋势 26
2.1.2 数据存储架构 29
2.1.3 数据库体系架构 31
2.1.4 数据库应用架构 31
2.2 关系数据库 34
2.2.1 关系模型概述 34
2.2.2 关系数据结构 35
2.2.3 关系的完整性 38
2.2.4 关系代数 39
2.2.5 关系演算 40
2.3 范式理论 40
2.3.1 第一范式 41
2.3.2 第二范式 41
2.3.3 第三范式 42
2.3.4 BC范式 42
2.3.5 第四范式 43
2.3.6 第五范式 43
2.4 E-R模型 43
2.4.1 基本概念 44
2.4.2 设计原则 46
2.4.3 构造E-R模型 48
第3章 管理数据库 51
3.1 什么是数据库 51
3.2 SQL Server 2005数据库概述 52
3.2.1 SQL Server 2005系统数据库 52
3.2.2 文件和文件组 54
3.2.3 数据库状态和文件状态 55
3.3 SQL Server 2005数据库组成部分 55
3.3.1 表 56
3.3.2 视图 57
3.3.3 存储过程和触发器 57
3.3.4 其他数据库部分 59
3.4 创建数据库 60
3.4.1 使用图形化向导 60
3.4.2 使用T-SQL语句 62
3.5 操作数据库 67
3.5.1 查看数据库信息 67
3.5.2 修改数据库名称 69
3.5.3 修改数据库大小 70
3.5.4 删除数据库 72
3.5.5 其他数据库操作 73
3.6 数据库快照 75
3.6.1 数据库快照简介 75
3.6.2 创建数据库快照 76
第4章 管理数据表 78
4.1 什么是表 78
4.1.1 表概述 78
4.1.2 表的特点 79
4.1.3 分区表 80
4.2 创建表 81
4.2.1 示例数据库 81
4.2.2 创建示例数据库中的表 81
4.2.3 创建特殊表 85
4.3 定义列的数据类型 88
4.3.1 数据类型概述 88
4.3.2 数字数据类型 89
4.3.3 字符数据类型 92
4.3.4 日期和时间数据类型 93
4.3.5 二进制数据类型 94
4.3.6 专用数据类型 95
4.3.7 数据类型的同义词 98
4.4 自定义类型与默认值 98
4.4.1 自定义数据类型 98
4.4.2 指定列的默认值 101
4.5 修改表 102
4.5.1 修改表 102
4.5.2 删除表 103
4.6 数据库关系图 105
4.6.1 创建数据库关系图 105
4.6.2 操作数据库关系图 106
第5章 维护数据库完整性 108
5.1 了解数据库完整性 108
5.1.1 数据完整性概述 108
5.1.2 数据库完整性分类 109
5.2 约束简介 111
5.2.1 了解完整性约束 111
5.2.2 定义约束 113
5.3 NOT NULL和UNIQUE约束 113
5.3.1 NOT NULL约束 114
5.3.2 UNIQUE约束 115
5.4 PRIMARY KEY约束 119
5.5 FOREIGN KEY约束 123
5.5.1 FOREIGN KEY约束概述 123
5.5.2 创建FOREIGN KEY约束 125
5.5.3 使用数据库关系图管理FOREIGN KEY约束 128
5.6 CHECK约束 130
5.6.1 定义列级和表级CHECK约束 131
5.6.2 创建域约束 133
5.6.3 断言 133
5.7 规则 134
5.7.1 创建规则 134
5.7.2 绑定规则 135
5.7.3 解除和删除规则 136
第二部分 Transact-SQL语言 140
第6章 T-SQL查询 140
6.1 T-SQL简介 140
6.1.1 T-SQL语言与SQL语言 140
6.1.2 T-SQL语言的类型 141
6.2 SELECT基本查询 141
6.2.1 SELECT语法 142
6.2.2 SELECT子句 143
6.2.3 FROM子句 146
6.2.4 WHERE子句 147
6.3 管理结果集 154
6.3.1 ORDER BY子句 155
6.3.2 GROUP BY子句 156
6.3.3 HAVING子句 160
6.4 多表操作 161
6.4.1 基本连接 161
6.4.2 JOIN连接查询 163
6.4.3 内连接 164
6.4.4 外连接 166
6.4.5 交叉连接 169
6.4.6 自连接 170
6.4.7 联合查询 171
6.5 使用子查询 174
6.5.1 返回多行的子查询 174
6.5.2 返回单值的子查询 177
6.5.3 嵌套子查询 178
6.6 XML查询 178
6.6.1 XML数据类型 179
6.6.2 XQuery查询 179
6.7 全文搜索 181
6.7.1 全文搜索简介 181
6.7.2 安装和配置全文搜索 182
6.7.3 执行全文搜索 185
第7章 修改数据表数据 186
7.1 插入表数据 186
7.1.1 INSERT语句概述 186
7.1.2 INSERT语法 187
7.1.3 使用INSERT语句 190
7.1.4 使用INSERT...SELECT语句 193
7.1.5 使用SELECT...INTO语句 195
7.1.6 操作大容量行 196
7.2 更新表数据 197
7.2.1 UPDATE语法 197
7.2.2 使用UPDATE语句 198
7.3 删除表数据 201
7.3.1 DELETE语法 201
7.3.2 使用DELETE语句 202
7.3.3 使用TRUNCATE TABLE语句 203
7.4 图形操作修改表数据 204
第8章 使用T-SQL编程 207
8.1 数值表达式 207
8.1.1 表达式概述 207
8.1.2 常量 209
8.1.3 变量 211
8.1.4 运算符 214
8.2 流程控制 222
8.2.1 流程控制语句 222
8.2.2 示例讲解 226
8.3 行和列函数 231
8.3.1 行函数 231
8.3.2 列函数 235
8.4 事务 238
8.4.1 了解事务 238
8.4.2 事务控制语句 239
8.4.3 事务应用 242
8.4.4 分布式事务 243
8.5 游标 244
8.5.1 游标的概述 245
8.5.2 声明游标 245
8.5.3 操作游标 247
8.5.4 游标应用 249
第三部分 SQL Server 2005数据库设计第9章 使用索引和视图 254
9.1 索引 254
9.1.1 索引简介 254
9.1.2 使用图形化界面创建索引 255
9.1.3 使用命令创建索引 256
9.1.4 查看和删除索引 260
9.2 使用视图管理表 262
9.2.1 视图概述 262
9.2.2 使用图形化界面创建视图 263
9.2.3 使用命令创建视图 264
9.2.4 使用视图连接表 266
9.3 视图修改数据 267
9.3.1 插入数据 268
9.3.2 更新数据 269
9.3.3 删除数据 269
9.4 使用其他类视图 270
9.4.1 索引视图 271
9.4.2 分布式分区视图 272
9.4.3 信息架构视图 274
9.4.4 目录视图 276
9.5 系统表与优化器 277
9.5.1 系统表 277
9.5.2 优化器 278
9.5.3 数据库引擎优化顾问 280
第10章 使用触发器与存储过程 283
10.1 了解触发器 283
10.1.1 触发器概述 283
10.1.2 触发器的作用 285
10.1.3 DML触发器 286
10.1.4 DDL触发器 288
10.2 创建触发器 289
10.2.1 创建DML触发器 289
10.2.2 创建INSERT触发器 291
10.2.3 创建DELETE触发器 294
10.2.4 创建UPDATE触发器 297
10.2.5 创建INSTEAD OF触发器 298
10.2.6 嵌套触发器 302
10.2.7 递归触发器 302
10.2.8 创建DDL触发器 304
10.3 管理触发器 305
10.4 了解存储过程 307
10.4.1 存储过程定义 307
10.4.2 存储过程的特性 308
10.4.3 设计存储过程 309
10.5 使用存储过程 311
10.5.1 创建存储过程 311
10.5.2 执行存储过程 313
10.5.3 管理存储过程 317
10.5.4 系统存储过程 319
10.5.5 扩展存储过程 320
10.5.6 错误信息处理 322
10.5.7 优化存储过程 324
第四部分 SQL Server 2005数据库管理第11章 数据库备份与恢复 328
11.1 备份概述 328
11.1.1 了解备份 328
11.1.2 数据库备份和恢复体系结构及特性 329
11.1.3 备份设备 331
11.2 执行备份数据 332
11.2.1 创建备份设备 332
11.2.2 管理备份设备 334
11.2.3 完整备份 335
11.2.4 差异备份 338
11.2.5 事务日志备份 340
11.2.6 文件组备份 343
11.2.7 备份到多个设备上 347
11.3 恢复数据 349
11.3.1 标准恢复 349
11.3.2 时间点恢复 352
11.4 规划备份策略 354
11.5 复制数据库 357
第12章 数据库安全 362
12.1 SQL Server 2005的安全机制 362
12.2 SQL Server 2005登录模式 364
12.2.1 身份验证模式概述 364
12.2.2 标准登录 367
12.2.3 Windows登录 369
12.3 管理数据库用户 372
12.3.1 使用SQL Server Management Studio进行管理 372
12.3.2 使用系统存储过程进行管理 373
12.4 管理数据库角色 376
12.4.1 固定服务器角色 376
12.4.2 固定数据库角色 378
12.4.3 应用程序角色 380
12.4.4 自定义数据库角色 383
12.5 管理数据库权限 385
12.5.1 数据库权限概述 385
12.5.2 语句权限 386
12.5.3 对象权限 389
12.6 安全计划 393
第13章 常用工具 396
13.1 SQL Server Management Studio 396
13.1.1 SQL Server Management Studio简介 396
13.1.2 对象资源管理器 398
13.1.3 已注册的服务器 403
13.1.4 解决方案资源管理器 405
13.1.5 模板资源管理器 407
13.2 SQL Server Profiler 408
13.3 SQL Server Configuration Manager 409
13.3.1 简介 409
13.3.2 服务配置 410
13.3.3 网络配置 410
第14章 自动化管理 413
14.1 了解SQL Server 2005自动化管理 413
14.2 配置SQL Server代理 415
14.2.1 SQL Server代理 415
14.2.2 SQL Server代理服务 416
14.2.3 SQL Server代理服务安全性 417
14.3 数据库邮件 418
14.3.1 数据库邮件概述 418
14.3.2 使用数据库邮件配置向导 419
14.3.3 使用邮件配置文件 423
14.4 管理作业 424
14.4.1 作业概述 424
14.4.2 本地作业 425
14.4.3 多服务器作业 430
14.5 管理操作员 435
14.6 管理警报 437
14.6.1 警报概述 437
14.6.2 事件警报 438
14.6.3 性能警报 440
14.6.4 WMI警报 441
14.7 维护计划向导 443
第五部分 SQL Server 2005数据库开发第15章 .NET集成性 452
15.1 .NET Framework概述 452
15.1.1 .NET Framework和Microsoft平台 452
15.1.2 .NET Framework与SQL Server 454
15.1.3 .NET开发平台 456
15.2 了解CLR和类库 457
15.2.1 公共语言运行时 457
15.2.2 .NET Framework类库 463
15.3 使用CLR 468
15.3.1 CLR函数 468
15.3.2 CLR存储过程 471
15.3.3 CLR触发器 473
15.3.4 CLR用户定义类型 476
15.4 SQL命名空间 479
15.4.1 使用进程内托管提供者 479
15.4.2 使用SqlPipe对象 481
第16章 ADO.NET存储技术 483
16.1 ADO.NET概述 483
16.1.1 ADO.NET的组成 483
16.1.2 ADO.NET命名空间 485
16.1.3 连接SQL Server 2005数据库 487
16.1.4 连接ODBC数据源 491
16.2 ADO.NET对象 494
16.2.1 Connection对象 494
16.2.2 Command对象 496
16.2.3 DataSet对象 498
16.2.4 DataReader对象 500
16.2.5 DataAdapter对象 502
16.2.6 DataView对象 504
16.3 使用ADO.NET 505
16.3.1 使用DataReader对象 505
16.3.2 使用DataAdapter对象和DataSet对象 506
16.3.3 使用DataView对象 508
16.3.4 使用ADO.NET对象管理数据 510
16.4 SMO编程 516
16.4.1 SMO概述 516
16.4.2 常见的SMO对象 517
16.4.3 使用SMO对象 525
第17章 集成服务 532
17.1 集成服务SSIS简介 532
17.1.1 集成服务新特性 532
17.1.2 集成服务体系结构 534
17.1.3 实用工具 535
17.2 包 538
17.2.1 了解包 538
17.2.2 包的控制流 538
17.2.3 包的数据流 539
17.3 创建与设计包 541
17.3.1 创建SSIS项目 541
17.3.2 使用导入和导出向导创建包 542
17.3.3 使用SSIS设计器创建包 547
17.3.4 设计包控制流 549
17.3.5 设计包数据流 551
17.4 运行包 554
17.4.1 SSIS设计器运行包 555
17.4.2 SQL Server Management Studio运行包 555
17.4.3 SQL Server代理运行包 558
17.4.4 实用工具运行包 559
17.5 部署包 560
17.5.1 包配置 560
17.5.2 部署工具 563
17.5.3 包安装 564
17.6 迁移和管理包 567
17.6.1 迁移DTS 2000包 567
17.6.2 管理包 569
第18章 通知服务 571
18.1 了解通知服务 571
18.2 SQL Server 2005通知服务 572
18.2.1 了解SQL Server 2005通知服务 572
18.2.2 SQL Server 2005通知服务组件 574
18.2.3 SQL Server 2005通知服务术语 576
18.3 了解通知应用程序 577
18.3.1 设计模式 577
18.3.2 规划通知应用程序 577
18.4 通知应用程序示例 579
18.4.1 示例配置文件 579
18.4.2 应用程序定义文件 582
18.4.3 NSControl 585
18.5 事件 587
18.5.1 事件类型 588
18.5.2 事件提供者 590
18.5.3 编目 593
18.6 管理订阅 594
18.6.1 了解订阅 594
18.6.2 订阅类型 595
18.6.3 订阅者 597
18.6.4 使用订阅 598
18.7 通知 600
18.8 格式化器和分发器 603
18.9 发送 604
18.9.1 发送协议 605
18.9.2 自定义 607
第19章 报表服务 608
19.1 了解报表服务 608
19.1.1 报表服务概述 608
19.1.2 报表生命周期 610
19.1.3 关键术语 611
19.1.4 报表构件及工具 612
19.2 创建报表 614
19.2.1 使用报表向导创建 614
19.2.2 使用报表设计器 620
19.2.3 创建参数化报表 624
19.2.4 导入Access报表 627
19.2.5 使用报表生成器 629
19.3 发布报表 634
19.4 管理报表 637
19.4.1 使用报表管理器维护报表 637
19.4.2 使用报表管理器管理已发布的报表 640
19.4.3 使用Management Studio 643
第六部分 SQL Server 2005数据库应用第20章 窗体应用(同学录) 648
20.1 预览完整解决方案 648
20.2 创建数据库 649
20.3 创建应用程序 651
20.3.1 整体布局 651
20.3.2 实现查看所有同学信息 653
20.3.3 实现查询同学信息 657
20.3.4 修饰窗体 661
第21章 留言本 664
21.1 预览完整解决方案 664
21.2 数据库设计 666
21.3 系统设计 666
21.3.1 设计Web.config 667
21.3.2 设计数据库类 668
21.4 实现安装向导 670
21.4.1 ASP.NET环境 670
21.4.2 创建Web项目 672
21.4.3 布局页面 673
21.4.4 编写代码 676
21.5 首页 679
21.5.1 浏览首页 679
21.5.2 布局母版页 680
21.5.3 布局内容页 681
21.5.4 实现母版页 684
21.5.5 实现内容页 685
21.6 添加留言 688
21.6.1 布局页面 688
21.6.2 编写代码 689
21.7 管理留言 691
21.7.1 管理员登录 691
21.7.2 管理回复 692
21.7.3 退出系统 696