第1部分 SQL Server:基本概念 1
第1章 数据库系统和SQL Server 1
1.1 数据库系统概述 2
1.1.1 各种不同的用户界面 3
1.1.2 物理数据独立性 3
1.1.3 逻辑数据独立性 3
1.1.4 查询优化 3
1.1.5 数据完整性 4
1.1.6 并发控制 4
1.1.7 备份与恢复 4
1.1.8 安全性与身份认证 4
1.2 关系数据库系统 5
1.2.1 使用书中的数据库样例 5
1.3 SQL:一种关系数据库语言 7
1.3.1 语法约定 8
1.4 数据库设计 9
1.4.1 范式 9
1.4.2 实体关系(ER)模型 11
1.5 Microsoft SQL Server总结 12
1.6 小结 13
1.7 练习 13
第2章 SQL Server Enterprise Manager和查询分析器 15
2.1 SQL Server程序组与在线帮助 15
2.1.1 在线帮助 16
2.2 SQL Server Enterprise Manager简介 16
2.2.1 Enterprise Manager的使用 17
2.2.2 管理数据库和数据库对象 19
2.3.1 连接SQL Server 26
2.3 SQL Server查询分析器简介 26
2.3.2 查询分析器中的编辑器 27
2.4 小结 32
2.5 练习 32
第2部分 Transact-SQL语言 33
第3章 SQL组件 33
3.1 SQL的基本对象 33
3.1.1 注释 34
3.1.2 标识符 35
3.1.3 保留字 35
3.2 数据类型 35
3.2.1 数字型 35
3.2.2 串型 36
3.2.3 指定日期和时间 37
3.2.4 派生数据类型 38
3.2.5 SQL Server 7和SQL Server 2000中新的数据类型 38
3.3 谓词 39
3.4 聚集函数 39
3.5 标量函数 40
3.5.1 数值函数 40
3.5.2 日期函数 41
3.5.3 串函数 42
3.5.4 文本/图像函数 43
3.5.5 系统函数 44
3.6 标量操作符 45
3.6.1 全局变量 46
3.7 NULL值 47
3.9 练习 48
3.8 小结 48
第4章 数据定义语言 50
4.1 创建数据库对象 50
4.1.1 创建一个数据库 50
4.1.2 CREATE TABLE——一种基本格式 53
4.1.3 CREATE TABLE——增强型格式 54
4.1.4 CREATE TABLE和声明性的完整性约束 55
4.1.5 参照完整性约束 58
4.1.6 创建其他数据库对象 62
4.1.7 完整性约束和域 63
4.2 修改数据库对象 66
4.2.1 修改一个数据库 66
4.2.2 更改一张表——基本格式 68
4.2.3 更改一张表——增强格式 69
4.4 小结 71
4.3 删除数据库对象 71
4.5 练习 72
第5章 简单查询 74
5.1 SELECT语句——基本格式 74
5.2 WHERE子句 75
5.2.1 布尔操作符 77
5.2.2 IN和BETWEEN操作符 81
5.2.3 涉及NULL值的查询 83
5.2.4 LIKE操作符 85
5.3 简单子查询 88
5.3.1 子查询和比较操作符 89
5.3.2 子查询和IN操作符 90
5.3.3 ANY和ALL操作符 91
5.3.5 FROM子句中的查询 93
5.3.4 EXISTS函数 93
5.4 GROUP BY子句 94
5.5 聚集函数 95
5.5.1 便利聚集 95
5.5.2 统计聚集 100
5.5.3 超聚集(CUBE和ROLLUP操作符) 100
5.6 HAVIING子句 101
5.7 ORDER BY子句 102
5.8 SELECT语句和IDENTITY属性 104
5.9 集合操作符 105
5.10 CASE表达式 108
5.11 COMPUIE子句 109
5.12 临时表 112
5.13 计算列 112
5.15 练习 113
5.14 小结 113
第6章 复杂查询 115
6.1 联接(JOIN)操作符 115
6.1.1 两种实现联接的语法格式 115
6.1.2 等值联接 116
6.1.3 笛卡儿积 119
6.1.4 自然联接 120
6.1.5 θ联接 122
6.1.6 多于两张表的联接 122
6.1.7 将表与其自身联接 124
6.1.8 外部联接 125
6.2 相关联子查询 128
6.2.1 EXISTS函数与子查询 130
6.3.2 联接的优势 133
6.3 你应该使用联接还是使用子查询? 133
6.3.1 子查询的优势 133
6.4 小结 134
6.5 练习 134
第7章 对表中内容的修改 135
7.1 INSERT语句 135
7.1.1 插入单独一行 135
7.1.2 插入多行 137
7.2 UPDATE语句 138
7.3 DELETE语句 140
7.4 小结 142
7.5 练习 142
8.1.2 IF语句 143
8.1.1 语句块 143
8.1 SQL扩展 143
第8章 SQL扩展和存储过程 143
8.1.3 WHILE语句 144
8.1.4 局部变量 145
8.1.5 其他过程语句 146
8.2 存储过程 146
8.2.1 存储过程的创建和执行 147
8.2.2 系统存储过程 150
8.3 用户自定义函数 151
8.3.1 用户自定义函数的创建和执行 151
8.4 使用文本和图像数据 154
8.4.1 文本和图像数据的获取 155
8.4.2 文本和图像数据的修改 156
8.5 小结 156
8.6 练习 157
第9章 索引与查询优化 158
9.1 索引 158
9.1.1 簇和非簇索引 159
9.1.2 索引与相关的Transact-SQL语句 160
9.1.3 编辑索引信息 164
9.1.4 索引和键 165
9.1.5 创建索引的方针 166
9.2 提高效率的通用标准 167
9.2.1 联接与相关联子查询 167
9.2.2 不完整语句 168
9.2.3 LIKE操作符 168
9.2.4 Transact-SQL语句和查询性能 169
9.3.1 优化器统计 171
9.3 查询优化器 171
9.3.2 实现连接操作 172
9.3.3 优化器提示 174
9.4 DBCC命令和索引 181
9.5 小结 181
9.6 练习 181
第10章 视图 183
10.1 DDL语句和视图 183
10.1.1 创建视图 183
10.1.2 改变和删除视图 187
10.2 DML语句和视图 188
10.2.1 视图检索 188
10.2.2 INSERT语句和视图 188
10.2.3 UPDATE语句和视图 190
10.2.4 DELETE语句和视图 192
10.3 划分视图 193
10.4 索引视图 194
10.4.1 创建索引视图 194
10.4.2 索引视图的好处 196
10.4.4 使用索引视图 197
10.5 小结 199
10.6 练习 199
第11章 系统目录 201
11.1 系统表 201
11.1.1 Sysobjects 201
11.1.4 Sysusers 202
11.1.5 Sysdatabases 202
11.1.3 Sysindexes 202
11.1.2 Syscolumns 202
11.1.6 Sysdepends 203
11.1.7 Sysconstraints 203
11.2 查询系统表 203
11.3 间接访问系统表 205
11.3.1 系统过程 205
11.3.2 系统函数 207
11.3.3 属性函数 208
11.3.4 信息大纲 209
11.4 小结 211
11.5 练习 211
第12章 SQL Server安全性 212
12.1 访问SQL Server 212
12.1.1 sp_addlogin 213
12.2.2 设置用户账号 214
12.2.1 默认用户账号 214
12.1.2 sp_droplogin 214
12.2 数据库安全许可 214
12.1.3 sp_password 214
12.3 角色 216
12.3.1 固定服务器角色 216
12.3.2 固定服务器角色和它的许可 217
12.3.3 固定数据库角色 219
12.3.4 固定数据库角色和它的许可 220
12.3.5 应用程序角色 222
12.3.6 用户定义的数据库角色 223
12.4 与安全有关的Transact-SQL语句 224
12.4.1 语句权限和GRANT语句 224
12.4.2 对象权限和GRANT语句 225
12.4.3 DENY语句 227
12.4.4 REVOKE语句 228
12.5 视图和数据访问 229
12.6 存储过程和数据访问 230
12.7 小结 230
12.8 练习 231
第13章 触发器 232
13.1 引言 232
13.2 触发器的工作机理 232
13.2.1 AFTER触发器的应用范围 234
13.2.2 INSTEAD OF触发器的使用范围 237
13.2.3 最先执行和最后执行的触发器 238
13.2.4 改变触发器的结构 239
13.3 小结 239
13.4 练习 240
第14章 事务 241
14.1 简介 241
14.2 Transact-SQL语句和事务 242
14.2.1 事务记录 244
14.3 锁定 245
14.3.1 锁定粒度 245
14.3.2 锁的种类 246
14.3.3 select语句和锁定 248
14.4 隔离等级 249
14.5 死锁 251
14.6 小结 252
14.7 练习 252
15.1 磁盘存储 253
第15章 SQL Server系统环境 253
15.1.1 数据页面 254
15.1.2 文本和图像数据 255
15.1.3 索引页面 256
15.2 系统数据库 256
15.3 实用程序 257
15.3.1 bcp实用程序 257
15.3.2 osql实用程序 257
15.3.3 odbcping实用程序 258
15.3.4 isql实用程序 259
15.3.5 console实用程序 259
15.4 SQL Server的实例 259
15.5 Unicode 260
15.5.1 字符编码 260
15.5.2 Unicode数据类型和函数 261
15.6.1 多处理机硬件结构 262
15.6 SQL Server体系结构 262
15.6.2 SQL Server的多线程结构 263
15.7 小结 264
15.8 练习 265
第3部分 SQL Server:系统管理 266
第16章 系统管理概述 266
16.1 管理工具 266
16.1.1 SQL Server程序组 266
16.2 系统管理员 268
16.3 小结 269
17.1 规划安装 270
17.1.1 SQL Server的目的 270
第17章 规划安装以及安装SQL Server 270
17.1.2 硬件和软件要求 271
17.1.3 安装建议 272
17.2 安装SQL Server 273
17.2.1 开始安装 273
17.2.2 安装客户工具 279
17.2.3 升级SQL Server 279
17.3 在安装之后配置SQL Server 281
17.3.1 创建服务器组并注册服务器 281
17.3.2 设置服务器选项 282
17.4 启动、暂停和停止SQL Server 283
17.5 小结 284
第18章 管理数据库和数据库文件 285
18.1 管理文件组 285
18.2 管理数据库 286
18.1.1 查看文件组 286
18.2.1 创建数据库 287
18.2.2 查看和修改数据库选项 288
18.2.3 修改数据库 290
18.3 管理事务日志 291
18.4 小结 292
18.5 练习 292
第19章 安全管理 293
19.1 引言 293
19.1.1 使用一个安全模式 293
19.1.2 SQL Server登录管理 294
19.2 数据库安全许可 295
19.2.1 角色 296
19.3 管理权限 297
19.3.1 语句权限 298
19.3.2 对象权限 299
19.4 小结 300
19.5 练习 300
第20章 备份与恢复 302
20.1 引言 302
20.1.1 软件和硬件的故障 302
20.1.2 事务日志 303
20.2 备份 303
20.2.1 备份全部数据库 303
20.2.2 差异备份 304
20.2.3 事务日志备份 304
20.3 执行备份操作 305
20.3.1 使用Enterprise Manager进行备份操作 305
20.2.4 数据库文件备份 305
20.3.2 创建备份向导 308
20.3.3 使用Transact-SQL 语句备份数据库 309
20.3.4 该备份哪个数据库 312
20.3.5 最小化系统的停机时间 314
20.4 恢复 316
20.4.1 自动恢复 316
20.4.2 手工恢复 317
20.4.3 恢复模板 323
20.4.4 恢复到标记处 325
20.5 小结 326
20.6 练习 327
21.1 前言 328
第21章 数据转换 328
21.2 数据转换服务(DTS) 329
21.2.1 DTS包 330
21.2.2 其他DTS工具 332
21.3 bcp实用程序 333
21.4 常用建议 334
21.5 小结 334
21.6 练习 335
第22章 自动化执行系统管理任务 336
22.1 引言 336
22.2 SQL Server Agent 337
22.2.1 运行和配置SQL Server Agent 337
22.3 创建作业和操作员 338
22.3.1 作业步骤 339
22.3.2 使用Enterprise Manager来创建作业 339
22.3.4 为通告创建操作员 341
22.3.3 创建作业调度表 341
22.3.5 查看作业历史日志 342
22.4 警告 343
22.4.1 定义警告来处理SQL Server错误 343
22.4.2 定义处理用户自定义错误的警告 346
22.5 多服务器环境下作业的自动化 347
22.6 小结 348
22.7 练习 348
第23章 SQL Server故障排除 349
23.1 错误信息 349
23.1.1 SQL Server错误日志 350
23.1.2 Windows NT/2000事件日志 350
23.2 解决错误 351
23.2.1 KILL语句 351
23.3 小结 352
23.2.2 DBCC语句 352
23.4 练习 353
第24章 性能与调试 354
24.1 引言 354
24.2 影响性能的因素 354
24.2.1 数据库应用程序和性能 355
24.2.2 SQL Server和性能 356
24.2.3 系统资源和性能 357
24.2.4 CPU 358
24.3 SQL Server监控工具 362
24.3.1 应用程序性能工具 362
24.3.2 特定的SQL Server监控 366
24.3.3 监控系统资源的工具 368
24.4.1 SQL Server仿形器 369
24.4 选择合适的工具 369
24.4.2 索引调试向导 370
24.5 小结 375
第25章 数据复制 376
25.1 分布式数据 376
25.1.1 分布数据的方法 376
25.2 SQL Server复制概述 377
25.2.1 出版商、销售商和订阅者 378
25.2.2 出版物和文章 378
25.2.3 复制类型 379
25.2.4 复制模式 381
25.3 管理复制 382
25.3.1 安装销售和出版服务器 383
25.3.2 安装订阅者服务器 384
25.4 小结 385
25.5 练习 385
25.3.3 出版 385
24.3.4 订阅 385
第4部分 微软分析服务 386
第26章 数据仓库简介 386
26.1 联机事务处理与数据仓库 386
26.1.1 联机事务处理 386
26.1.2 数据仓库系统 387
26.2 数据仓库与数据集市 388
26.3 数据仓库设计 389
26.3.1 量纲模型 389
26.4 立方体和存储模式 391
26.5 集合 393
26.4.1 多维联机分析处理(MOLAP)、关系联机分析处理(ROLAP)和混合联机分析处理(HOLAP)技术 393
26.5.1 集合的数量 394
26.6 数据挖掘 395
26.6.1 数据挖掘任务 395
26.6.2 数据挖掘技术 396
26.7 小结 397
26.8 练习 397
第27章 微软分析服务 398
27.1 微软分析服务的结构 399
27.1.1 服务器组件 399
27.1.2 客户组件 400
27.2 分析服务的组件 401
27.2.1 分析管理器 402
27.2.2 数据转换服务 403
27.3 分析服务和立方体 404
27.3.1 创建一个立方体 405
27.3.2 定义维度 407
27.4 小结 409
第28章 微软分析服务的客户组件 410
28.1 SQL扩展 410
28.1.1 CUBE操作符 410
28.1.2 ROLLUP操作符 412
28.1.3 TOP n子句 414
28.2 Microsoft客户端工具 415
28.2.1 Excel 2000 415
28.2.2 分析管理器 416
28.3 第三方客户端工具 418
28.4 小结 418
29.1.1 万维网 420
29.1 引言 420
第5部分 使用SQL Server 2000创建解决方案 420
第29章 XML支持 420
29.1.2 XML和相关语言 421
29.1.3 XML——基本概念 421
29.2 SQL Server和XML支持 424
29.2.1 使用图形化界面创建IIS虚拟路径 424
29.2.2 使用regxmlss实用程序创建IIS虚拟路径 427
29.2.3 使用URL执行查询 427
29.2.4 SQL Server XML模式 430
29.3 小结 433
第30章 SQL Server全文搜索 434
30.1 引言 434
30.2.1 用Enterprise Manager设置全文搜索 435
30.2 全文索引 435
30.2.2 移植全文搜索索引 437
30.2.3 启用全文索引数据库 438
30.2.4 启用或取消全文索引中的表格 438
30.2.5 启用或取消全文索引中的列 439
30.2.6 创建和删除全文目录 439
30.3 查询全文索引 439
30.3.1 准备步骤 439
30.3.2 FREETEXT谓词 440
30.3.3 CONTAINS谓词 441
30.3.4 FREETEXTTABLE 443
30.3.5 CONTAINSTABLE 443
30.4 小结 444
附录A 习题解答 445