第1章 SQL Server概述 1
1.1 SQL与SQL Server 2
1.1.1 SQL的特点 2
1.1.2 SQL Server的特点 3
1.1.3 关系数据库模型简述 6
1.2 SQL Server 2005的安装 6
1.2.1 SQL Server 2005的安装要求 6
1.2.2 SQL Server 2005的安装内容 8
1.2.3 SQL Server 2005的安装过程 9
习题1 11
第2章 数据库的基本操作 12
2.1 文件和文件组 12
2.1.1 文件 12
2.1.2 文件组 12
2.2 创建数据库 13
2.2.1 以图形化界面创建数据库 13
2.2.2 用T-SQL命令创建数据库 15
2.2.3 事务日志 19
2.2.4 查看数据库信息 20
2.3 管理数据库 24
2.3.1 打开数据库 24
2.3.2 增加数据库容量 24
2.3.3 查看及修改数据库选项 25
2.3.4 缩减数据库容量 26
2.3.5 更改数据库名称 27
2.3.6 查看SQL Server上的数据库个数 28
2.3.7 删除数据库 29
习题2 30
第3章 数据库中表的建立 31
3.1 表的概念 31
3.2 SQL Server的数据类型 31
3.3 数据库中表的操作 38
3.3.1 表的创建 38
3.3.2 表的删除 41
3.3.3 表的修改 42
习题3 50
第4章 数据检索 51
4.1 SELECT语句 52
4.2 带条件的检索 56
4.2.1 WHERE子句 57
4.2.2 WHERE子句中条件的指定 58
4.2.3 HAVING子句 62
4.2.4 COMPUTE BY及COMPUTE子句 63
4.3 从多个表中查询数据 64
4.4 UNION操作 66
4.5 子查询 68
习题4 70
第5章 SQL Server的数据完整性 71
5.1 数据完整性的基本概念 71
5.1.1 数据完整性的类型 71
5.1.2 强制数据完整性 72
5.2 定义约束 73
5.2.1 约束的类型 73
5.2.2 约束的创建 74
5.2.3 查看约束的定义信息 76
5.2.4 删除约束 79
5.3 约束类型 80
5.3.1 DEFAULT约束 81
5.3.2 CHECK约束 81
5.3.3 PRIMARY KEY约束 83
5.3.4 UNIQUE约束 84
5.3.5 FOREIGN KEY约束 84
5.4 创建约束的其他选项 86
5.4.1 使用WITH NOCHECK选项 86
5.4.2 使用NOCHECK选项 87
5.5 使用默认值 87
5.6 使用规则 89
5.7 数据完整性强制方法的选择 91
习题5 91
第6章 视图及其应用 93
6.1 综述 93
6.1.1 视图的基本概念 93
6.1.2 使用视图的优点和缺点 95
6.2 视图的创建和查询 96
6.3 查看视图定义信息 97
6.3.1 使用Management Studio 97
6.3.2 通过执行系统存储过程查看视图的定义信息 99
6.4 修改和删除视图 101
6.4.1 修改视图 101
6.4.2 删除视图 102
6.5 通过视图修改数据 102
习题6 105
第7章 索引及其应用 106
7.1 有关索引的基础知识 106
7.1.1 SQL Server中数据的存储 106
7.1.2 SQL Server中数据的访问 107
7.2 创建索引的原因和选择索引列 107
7.2.1 创建索引应考虑的因素 107
7.2.2 选择创建索引的数据列 109
7.3 索引的分类 109
7.3.1 聚集索引 109
7.3.2 非聚集索引 111
7.3.3 唯一索引 113
7.3.4 包含性列索引 113
7.3.5 全文索引 113
7.3.6 xml数据类型列的索引 114
7.4 建立可利用的索引 115
7.4.1 在查询分析器中用SQL命令建立索引 115
7.4.2 在Management Studio中建立索引 120
7.5 查询索引信息 121
7.6 更改索引的名称 122
7.7 删除索引 122
7.7.1 用T-SQL命令删除索引 122
7.7.2 在Management Studio中删除索引 123
7.8 设置创建索引的选项 123
7.8.1 设置FILLFACTOR选项 123
7.8.2 设置PAD_INDEX选项 124
7.9 分析和维护索引 124
7.9.1 分析索引 124
7.9.2 维护索引 126
7.10 数据库引擎优化顾问 129
习题7 132
第8章 存储过程及其应用 133
8.1 存储过程的概念 133
8.2 存储过程的优点 134
8.3 创建和执行简单存储过程 134
8.3.1 创建存储过程 134
8.3.2 创建存储过程的步骤及注意事项 135
8.3.3 查看存储过程信息 136
8.4 创建和执行带参数的存储过程 138
8.4.1 创建带输入参数的存储过程 138
8.4.2 执行带输入参数的存储过程 140
8.4.3 创建带输出参数的存储过程 141
8.4.4 执行带输出参数的存储过程 142
8.5 存储过程的重编译处理 143
8.5.1 存储过程的处理 143
8.5.2 存储过程的重编译处理 144
8.6 修改和删除存储过程 145
8.6.1 修改存储过程 145
8.6.2 删除存储过程 146
8.7 系统存储过程和扩展存储过程 147
8.7.1 系统存储过程 147
8.7.2 扩展存储过程 148
习题8 150
第9章 触发器及其应用 151
9.1 触发器的基本概念和优点 152
9.1.1 触发器的基本概念 152
9.1.2 使用触发器的优点 152
9.2 触发器的创建与执行 153
9.2.1 INSERT触发器 154
9.2.2 UPDATE触发器 156
9.2.3 DELETE触发器 157
9.2.4 查看触发器信息 158
9.2.5 触发器的执行 160
9.3 使用触发器 161
9.3.1 使用触发器强制数据完整性 161
9.3.2 使用触发器强制业务规则 161
9.4 修改和删除触发器 162
9.4.1 修改触发器 162
9.4.2 删除触发器 163
9.4.3 禁止或启用触发器 163
9.5 嵌套触发器和递归触发器 163
9.5.1 嵌套触发器 163
9.5.2 递归触发器 164
习题9 165
第10章 用户自定义函数的应用与程序设计 166
10.1 用户自定义函数的基本概念 166
10.2 创建和查看用户自定义函数 166
10.2.1 创建用户自定义函数 166
10.2.2 查看用户自定义函数 168
10.3 用户自定义函数类型 170
10.3.1 标量值函数 170
10.3.2 内嵌表值函数 171
10.3.3 多语句表值函数 172
10.4 修改和删除用户自定义函数 174
10.4.1 修改用户自定义函数 174
10.4.2 删除用户自定义函数 175
10.4.3 设置用户自定义函数的权限 175
10.5 SQL Server中的程序设计 175
10.5.1 程序设计中批处理的基本概念 175
10.5.2 事务处理 178
10.6 SQL Server的流程控制语句 182
10.6.1 声明变量 182
10.6.2 预声明的全局变量 183
10.6.3 RETURN语句 184
10.6.4 CASE表达式 185
10.6.5 BEGIN END块 186
10.6.6 游标 188
习题10 190
第11章 SQL Server的系统安全与数据安全简介 191
11.1 SQL Server的系统安全机制 191
11.1.1 与Windows 2003集成的登录验证模式 191
11.1.2 基于角色的安全性 191
11.2 服务器管理的安全性 192
11.2.1 服务器登录账号 192
11.2.2 设置安全验证模式 193
11.2.3 管理服务器账号 193
11.2.4 服务器角色 196
11.2.5 管理数据库的用户 197
11.3 管理权限 200
11.3.1 SQL Server 2005的权限 200
11.3.2 权限设置 200
11.3.3 权限和系统表 202
11.4 应用程序的安全性与应用程序角色 203
11.5 SQL Server的数据安全 204
11.5.1 数据库备份与恢复的基本概念 204
11.5.2 备份的类型 205
11.6 备份操作 206
11.6.1 使用T-SQL命令进行备份 206
11.6.2 使用Management Studio进行备份 209
11.7 还原及其操作 210
11.7.1 使用T-SQL命令进行还原 210
11.7.2 使用Management Studio进行还原 212
11.7.3 灾难后的恢复 213
11.8 制定备份及恢复计划 213
11.8.1 备份计划 214
11.8.2 恢复计划 214
习题11 215
第12章 通过ODBC连接不同数据源 216
12.1 ODBC概述 216
12.2 ODBC数据源 217
12.3 安装ODBC的数据源驱动程序 218
12.3.1 添加数据源 218
12.3.2 数据源转换 219
习题12 221
参考文献 222