第1章 SQL Server 2000概述 1
1.1 SQL Server的发展历史 2
1.2 SQL Server 2000的特性 2
1.3 SQL Server 2000的体系结构与服务器组件 4
1.3.1 SQL Server 2000的体系结构 4
1.3.2 SQL Server 2000主要的服务器组件简介 5
1.4 SQL Server 2000的版本及运行环境 6
1.4.1 SQL Server 2000各版本的功能和特点 6
1.4.2 各版本的运行环境 8
1.5 安装SQL Server 2000 8
1.5.1 软件环境 8
1.5.2 硬件环境 9
1.5.3 安装配置选项 11
1.5.4 运行SQL Server安装程序 16
1.5.5 解决SQL Server 2000安装问题 22
1.6 SQL Server 2000的安全基础结构 23
1.6.2 授权 24
1.6.1 身份验证 24
1.7 SQL Server 2000的企业管理器 25
1.7.1 企业管理器的环境 26
1.7.2 启动和关闭服务器 26
1.7.3 连接与断开服务器 27
1.7.4 配置服务器 27
1.7.5 对象的SQL脚本 28
1.7.6 调用SQL Server工具和向导 30
1.7.7 企业管理器的常见用途 30
习题 31
小结 31
第2章 数据库及其创建管理 33
2.1 什么是数据库 33
2.2 设计数据库 34
2.3 创建数据库 35
2.3.1 使用企业管理器创建 35
2.3.2 使用命令语句创建 37
2.4 查看数据库 40
2.4.1 使用企业管理器查看数据库信息 40
2.4.2 使用命令语句查看数据库信息 41
2.5 修改数据库 42
2.5.1 使用企业管理器修改 42
2.5.2 使用命令语句修改 42
2.6 删除数据库 45
2.6.1 使用企业管理器删除 45
2.6.2 使用命令语句删除 46
2.7 管理数据库 46
2.7.2 使用命令语句管理数据库 47
2.7.1 使用企业管理器管理数据库 47
2.8 存放数据库文件和日志 49
2.9 案例 50
小结 51
习题 51
第3章 表及其创建管理 53
3.1 什么是表 53
3.2 关键字 54
3.3 创建表 54
3.3.1 使用企业管理器创建 55
3.3.2 使用命令语句创建 56
3.4 修改表结构 57
3.4.1 使用企业管理器修改 57
3.4.2 使用命令语句修改 59
3.5 删除表 60
3.5.1 使用企业管理器删除 61
3.5.2 使用命令语句删除 61
3.6 案例 62
习题 67
小结 67
第4章 索引 68
4.1 什么是索引 68
4.2 索引的分类 69
4.2.1 簇索引 69
4.2.2 非簇索引 70
4.2.3 惟一索引 70
4.3 创建索引 71
4.4.2 用sp_helpindex存储过程查看索引 75
4.4.1 用企业管理器查看并维护索引 75
4.4 查看索引并维护索引 75
4.4.3 用sp_rename存储过程更改索引名称 76
4.5 删除索引 77
4.6 案例 77
小结 78
习题 78
第5章 数据完整性 79
5.1 什么是数据完整性 79
5.2.1 PRIMARY KEY约束 81
5.2 约束 81
5.2.2 UNIQUE约束 82
5.2.3 FOREIGN KEY约束 83
5.2.4 DEFAULT约束 84
5.2.5 CHECK约束 85
5.3 禁用约束 86
5.3.1 禁用在现有数据上的约束检查 86
5.3.2 在加载新数据时禁用约束检查 87
5.4.1 创建规则 89
5.4 规则 89
5.4.2 查看规则 90
5.4.3 规则的绑定与解除绑定 90
5.4.4 规则的删除 94
5.5 默认值 95
5.5.1 创建默认值 95
5.5.2 查看默认值 96
5.5.3 默认值的绑定与解除绑定 97
5.5.4 默认值的删除 99
5.6 案例 101
小结 103
习题 103
第6章 Transact-SQL语言 104
6.1 数据类型 104
6.1.1 整数数据类型 104
6.1.2 浮点数据类型 105
6.1.3 二进制数据类型 106
6.1.5 字符数据类型 107
6.1.4 逻辑数据类型 107
6.1.6 文本和图形数据类型 108
6.1.7 日期和时间数据类型 108
6.1.8 货币数据类型 110
6.1.9 特定数据类型 110
6.1.10 用户自定义数据类型 111
6.1.11 新数据类型 111
6.2 变量 111
6.2.1 全局变量 111
6.3 运算符 112
6.2.2 局部变量 112
6.3.1 算术运算符 113
6.3.2 赋值运算符 113
6.3.3 位运算符 114
6.3.4 比较运算符 114
6.3.5 逻辑运算符 115
6.3.6 字符串串联运算符 115
6.4 表达式 115
6.5.2 BEGIN-END 116
6.5 流程控制 116
6.5.1 IF-ELSE 116
6.5.3 CASE 117
6.5.4 WHILE-CONTINUE-BREAK 118
6.5.5 WAITFOR 119
6.6 函数 120
6.7 案例 136
小结 137
习题 137
7.1 选择表中的列 138
第7章 查询 138
7.1.1 显示指定列 139
7.1.2 显示全部列 140
7.1.3 显示经过计算的列 140
7.1.4 显示字面值 141
7.2 指定列名 141
7.3 选择表中的行 142
7.3.1 使用比较运算符过滤数据 142
7.3.2 使用逻辑运算符过滤数据 143
7.3.3 使用字符串比较符过滤数据 144
7.3.4 根据值的范围过滤 145
7.3.5 根据值的列表过滤 146
7.3.6 涉及未知值的查询 146
7.4 消除重复行 147
7.5 对查询结果排序 148
7.6 使用聚合函数 149
7.6.1 COUNT()函数 150
7.6.2 MAX()函数 150
7.6.3 MIN()函数 151
7.6.4 SUM()函数 151
7.6.5 AVG()函数 151
7.7 分组查询 152
7.7.1 使用GROUP BY分组查询 152
7.7.2 筛选分组结果 153
7.8 汇总查询 153
7.8.1 CUBE运算符 154
7.8.2 ROLLUP运算符 155
7.8.3 GROUPING函数 157
7.9 连接查询 158
7.9.1 等值与非等值连接查询 158
7.9.2 内连接查询 159
7.9.3 外连接查询 159
7.9.4 交叉连接查询 160
7.10.1 什么是子查询 161
7.10 嵌套查询 161
7.9.5 自身连接查询 161
7.10.2 带有比较运算符的子查询 162
7.10.3 带有IN谓词的子查询 163
7.10.4 带有ANY、ALL谓词的子查询 163
7.10.5 带有EXISTS、NOT EXISTS运算符的子查询 164
7.11 集合组合查询 165
7.11.1 合并操作UNION 165
7.11.3 集合差操作MINUS 166
7.12 案例 166
7.11.2 集合交操作INTERSECT 166
小结 168
习题 169
第8章 数据更新 171
8.1 插入数据 171
8.1.1 插入一个元组 172
8.1.2 插入子查询结果 173
8.1.3 使用列默认值插入 174
8.1.4 在插入时创建表 175
8.2 更新数据 176
8.2.1 更新指定元组 176
8.2.2 更新所有元组 177
8.2.3 使用子查询根据其他表更新行 177
8.2.4 更新操作与数据库的一致性 177
8.3 删除数据 178
8.3.1 删除指定元组 178
8.3.2 删除所有元组 179
8.4使 用企业管理器插入、更新、删除数据 180
8.3.3 删除基于其他表的元组 180
8.5 案例 183
小结 184
习题 184
第9章 视图 185
9.1 创建视图 186
9.1.1 使用企业管理器创建视图 186
9.1.2 使用CREATE VIEW命令创建视图 187
9.2.1 使用企业管理器查看、修改视图 189
9.2 修改视图 189
9.2.2 使用ALTER VIEW命令修改视图 190
9.3 删除视图 190
9.3.1 使用企业管理器删除视图 190
9.3.2 使用DROP VIEW命令删除视图 191
9.4 通过视图修改数据 191
9.5 案例 192
小结 193
习题 193
10.1 什么是事务 194
10.1.1 事务及其特性 194
第10章 事务处理 194
10.1.2 事务的分类 195
10.2 确保数据的一致性 197
10.3 事务的还原 198
10.4 事务的并发性 200
10.4.1 并发控制 200
10.4.2 并发问题 200
10.5.2 SQL Server锁模式 202
10.5.1 SQL Server的锁 202
10.5 SQL Server的锁机制 202
10.6 死锁 205
10.7 案例 206
小结 207
习题 207
第11章 存储过程 208
11.1 存储过程概述 208
11.1.1 什么是存储过程 208
11.1.3 存储过程的类型 209
11.1.2 存储过程的优点 209
11.2 存储过程的创建和执行 210
11.3 向存储过程传递参数 213
11.4 从存储过程中返回数据 214
11.4.1 用return语句返回值 215
11.4.2 利用输出参数返回多个值 216
11.5 在存储过程中调用另一个存储过程 218
11.6 存储过程的修改 219
11.8 案例 220
11.7 存储过程的删除 220
小结 221
习题 221
第12章 触发器 222
12.1 触发器及其功能 222
12.2 创建触发器 223
12.2.1 用SQL语句创建 223
12.2.2 在企业管理器中创建 224
12.2.3 触发器中使用的特殊表 224
12.2.4 创建INSERT触发器 225
12.2.5 创建DELETE触发器 226
12.2.6 创建UPDATE触发器 227
12.3 触发器的修改 228
12.4 触发器的删除 229
12.5 AFTER和INSTEAD OF触发器 229
12.6 案例 230
小结 231
习题 231
第13章 数据转换服务 232
13.1 数据的导入导出应用 233
13.2 DTS结构 234
13.3 DTS向导 236
13.4 DTS设计器 246
小结 254
习题 254
第14章 备份和还原数据库 255
14.1 数据库的备份 255
14.1.1 备份的重要性 255
14.1.2 备份类型和常用备份策略 256
14.1.3 备份数据库操作 257
14.2 数据库的还原 262
14.3 分离和附加数据库 265
14.3.1 分离数据库 265
14.3.2 附加数据库 266
14.4 案例 267
小结 268
习题 268
第15章 数据规范化 269
15.1 数据规范化概念及操作 270
15.1.1 第一范式 270
15.1.2 第二范式 272
15.1.3 第三范式 272
15.2 数据的反规范 273
15.3 案例 276
小结 277
习题 277
参考文献 278