第1章 SQL Server 2000概述 1
1.1 什么是SQL Server 2000 1
1.2 SQL Server 2000的新特性 1
1.2.1 关系数据库的增强 1
1.2.2 关系数据的XML综合 2
1.2.3 复制的增强 2
1.2.4 数据转换服务的增强 3
1.2.5 分析服务的增强 3
1.2.6 英文查询的增强 3
1.2.7 文档的增强 3
第2章 关系数据库 4
2.1 关系模型 4
2.2 规范化 4
2.2.1 函数依赖 5
2.2.2 关键字 5
2.2.3 更新异常 6
2.2.4 规范化的本质 7
2.3 第一范式到第三范式 7
2.3.1 第一范式 8
2.3.2 第二范式 8
2.3.3 第三范式 8
2.4 小结 9
第3章 客户/服务器结构 10
3.1 理解客户/服务器结构 10
3.1.1 客户/服务器模型 10
3.1.2 客户/服务器应用 11
3.1.3 客户/服务器系统 11
3.2 客户/服务器结构的优势 12
3.3 客户/服务器的发展 12
3.3.1 基于主机的系统 13
3.3.2 两层客户/服务器结构 13
3.3.3 对等系统 14
3.3.4 三层客户/服务器 14
3.4 Microsoft的三层服务模型 15
3.5 SQL Server对客户/服务器结构的支持 15
3.5.1 关键服务器特性 15
3.5.2 关键的客户特性 16
3.6 小结 16
第4章 SQL基础 17
4.1 数据定义语言 17
4.1.1 基本表的定义和修改 17
4.1.2 索引的定义和删除 19
4.1.3 视图的定义和删除 19
4.2 数据操纵语言 20
4.2.1 INSERT 20
4.2.2 UPDATE 21
4.2.3 DELETE 21
4.3 数据查询语言 22
4.3.1 简单查询 22
4.3.2 统计 25
4.3.3 利用查询结果创建新表 27
4.3.4 使用UNION运算符实现多查询联合 27
4.4 数据控制语言 28
4.4.1 GRANT 28
4.4.2 REVOKE 29
4.5 函数 29
4.6 小结 31
第5章 创建数据库 32
5.1 数据库设计 32
5.1.1 创建数据库计划 32
5.1.2 标准化 34
5.2 创建数据库 34
5.2.1 使用企业管理器创建数据库 35
5.2.2 使用创建数据库向导 37
5.2.3 使用T-SQL语句创建数据库 37
5.2.4 使用原始分区 39
5.3 创建表 40
5.3.1 表的设计 40
5.3.2 创建表 40
5.4 实现数据的完整性 44
5.4.1 主键约束 44
5.4.2 外键约束 44
5.4.3 唯一性约束 46
5.4.4 CHECK约束 47
5.5 修改数据库 49
5.5.1 扩展数据库 49
5.5.2 收缩数据库的数据文件或日志文件 51
5.5.3 增加或删除数据库的数据文件或日志文件 53
5.5.4 创建文件组 55
5.5.5 改变默认的文件组 56
5.5.6 改变数据库的配置设定 56
5.5.7 创建可移动数据库 60
5.6 小结 60
第6章 创建视图 61
6.1 概述 61
6.1.1 视图 61
6.1.2 索引化视图 62
6.2 创建视图 63
6.2.1 创建视图前的考虑 63
6.2.2 创建视图 64
6.2.3 创建索引化视图 69
6.3 修改视图 77
6.3.1 使用Transact-SQL语句修改视图 78
6.3.2 使用企业管理器修改视图 79
6.4 通过视图修改数据 80
6.5 删除视图 82
6.6 小结 83
第7章 创建存储过程 84
7.1 创建存储过程 85
7.1.1 创建存储过程前的一些考虑 85
7.1.2 使用Transact-SQL语句创建存储过程 86
7.1.3 使用企业管理器创建存储过程 96
7.2 存储过程的删除和修改 97
7.2.1 修改现有的存储过程 97
7.2.2 删除现有存储过程 97
7.3 执行存储过程 98
7.4 系统存储过程 101
7.5 小结 102
第8章 创建游标 103
8.1 游标类型 104
8.1.1 根据游标的特性分类 104
8.1.2 根据游标的执行位置分类 105
8.2 创建游标 107
8.3 使用游标 113
8.3.1 打开游标 113
8.3.2 关闭游标 114
8.3.3 获取数据 115
8.3.4 释放游标 120
8.4 小结 121
第9章 创建触发器 122
9.1 概述 122
9.2 设计触发器 123
9.2.1 inserted表和deleted表 123
9.2.2 触发器类型 124
9.2.3 使用触发器的限制 124
9.2.4 指定触发器点火后的动作 125
9.2.5 触发器的执行 125
9.3 创建触发器 126
9.3.1 创建触发器前的考虑 126
9.3.2 使用Transact-SQL语句创建触发器 127
9.3.3 使用企业管理器创建触发器 135
9.4 使用触发器加强业务规则 135
9.4.1 触发器的应用场合 136
9.4.2 触发器与约束的比较 136
9.5 嵌套触发器 137
9.6 小结 137
第10章 创建索引 138
10.1 设计索引 139
10.1.1 设计索引的考虑 139
10.1.2 聚集索引 140
10.1.3 非聚集索引 141
10.2 创建索引 142
10.2.1 使用Transaction-SQL语句创建索引 143
10.2.2 使用企业管理器创建索引 153
10.2.3 创建视图的索引 155
10.2.4 在计算列上创建索引 155
10.3 修改索引 156
10.3.1 删除索引 156
10.3.2 重新命名索引 158
10.4 小结 158
第11章 SOL Server的体系结构 159
11.1 SQL Server的特征 159
11.2 SQL Server关系数据库构件 160
11.2.1 通信构件 162
11.2.2 服务器构件 166
11.2.3 联合SQL Server 2000服务器 170
11.3 SQL Server数据库结构 172
11.3.1 概述 172
11.3.2 数据库逻辑结构 173
11.3.3 数据库物理结构 182
11.4 关系数据库引擎结构 186
11.4.1 数据库引擎构件 186
11.4.2 SQL Server 2000的内存体系结构 188
11.4.3 SQL Server I/O体系结构 188
11.4.4 事务体系 189
11.5 SQL Server 2000复制体系 189
11.6 数据仓库和联机分析处理 190
11.7 小结 194
第12章 备份与恢复 195
12.1 备份与恢复概述 195
12.1.1 为什么要设计备份 195
12.1.2 系统失败的原因 195
12.2 设计备份与恢复策略 196
12.2.1 规划备份策略 196
12.2.2 分析可用性和恢复要求 196
12.2.3 规划好灾难性恢复策略 197
12.2.4 选择恢复模型 198
12.3 SQL Server 2000备份 199
12.3.1 备份类型 199
12.3.2 备份设备 200
12.3.3 SQL Server 2000备份功能 200
12.3.4 SQL Server 2000备份数据库 200
12.3.5 备份事务日志 206
12.4 SQL Server 2000恢复 208
12.5 SQL Server 2000对备份设备的管理 212
12.6 备份和恢复系统数据库 216
12.6.1 备份和恢复master数据库 216
12.6.2 备份model、msdb、distribution数据库 217
12.6.3 恢复model、msdb、distribution数据库 218
12.7 备份大规模数据库的考虑 219
12.8 小结 220
第13章 安全性和用户管理 221
13.1 SQL Server 2000安全体系结构 221
13.1.1 概述 221
13.1.2 安全帐户认证 223
13.2 设计安全策略 225
13.3 SQL Server2000用户和固定角色 226
13.4 用户管理 228
13.5 角色管理 231
13.6 权限管理 233
13.7 SQL Server的审计 236
13.8 小结 237
第14章 调整和优化SQL Server性能 238
14.1 优化数据库性能概述 238
14.2 数据库设计与性能 238
14.2.1 逻辑数据库设计 238
14.2.2 SQL Server非范式策略和优点 240
14.2.3 索引设计与性能 241
14.2.4 RAID技术 242
14.3 查询优化 244
14.3.1 优化数据库索引 246
14.3.2 优化查询程序 247
14.4 应用程序设计与性能 250
14.5 使用SQL Server Profiler 251
14.6 监视SQL Server性能 257
14.6.1 概述 257
14.6.2 SQL Server性能评估 258
14.6.3 使用Windows NT性能监视器 258
14.6.4 使用SQL Server性能监视器 261
14.7 优化服务器性能 268
14.7.1 使用内存注册选项优化服务器性能 268
14.7.2 使用I/O注册选项优化服务器性能 269
14.7.3 使用Windows NT选项优化服务器性能 269
14.8 设计联合数据库优化数据库性能 270
14.9 小结 271
第15章 数据库复制 272
15.1 引言 272
15.2 规划数据库的复制 277
15.2.1 分布式更新应考虑的因素 277
15.2.2 分析复制环境 277
15.2.3 规划三种复制类型 279
15.2.4 设计复制拓扑结构 281
15.3 数据库复制管理 284
15.3.1 配置复制服务器 284
15.3.2 发布管理 288
15.3.3 条目管理 293
15.3.4 订阅管理 301
15.4 使用管理工具实现复制操作 311
15.4.1 配置分发服务器和发布服务器 312
15.4.2 创建发布物 316
15.4.3 创建订阅服务器 320
15.5 数据库复制的安全管理 324
15.5.1 复制的角色 324
15.5.2 连接到分发服务器的要求 325
15.5.3 快照文件夹安全性管理 325
15.5.4 发布物访问列表 326
15.5.5 代理登录的安全性要求 326
15.5.6 安全性与复制选项 327
15.5.7 在Internet上进行复制操作的安全性 327
15.6 小结 328
第16章 数据转换服务 329
16.1 DTS基础 329
16.2 DTS工具 331
16.2.1 DTS导入/导出向导 332
16.2.2 DTS设计器 338
16.3 DTS包元素 342
16.3.1 DTS任务 342
16.3.2 DTS转换 342
16.3.3 DTS连接 347
16.3.4 配置连接 348
16.3.5 在企业管理器中使用DTS设计器中创建连接 348
16.3.6 编辑连接 348
16.3.7 DTS包工作流 349
16.4 管理DTS包 351
16.4.1 创建DTS包 351
16.4.2 编辑DTS包 351
16.4.3 删除DTS包 352
16.4.4 执行DTS包 352
16.4.5 调度DTS包的执行 354
16.4.6 保存DTS包 355
16.5 共享元数据 356
16.5.1 DTS信息模型 356
16.5.2 记录DTS的数据沿袭 357
16.5.3 在DTS中导入和保存元数据 359
16.7 小结 359
第17章 SOL Server 2000提供的应用程序接口 360
17.1 SQL Server 2000应用程序接口概述 360
17.2 ADO与SQL Server 361
17.2.1 OLE DB提供者 362
17.2.2 在不同的开发环境下使用ADO 362
17.3 OLE DB与SQL Server 363
17.3.1 SQL Server OLE DB提供者的安装 363
17.3.2 开发OLE DB应用程序 364
17.4 ODBC与SQL Server 366
17.4.1 ODBC的系统需求 367
17.4.2 开发OBDC应用程序 368
17.5 用于C语言的嵌入式SQL与SQL Server 369
17.5.1 使用Embedded SQL for C所需的文件 369
17.5.2 使用Emebedded SQL for C编程的步骤 370
17.6 用于C语言的DB-Library 370
17.6.1 使用用于C语言的DB-Library所需文件 371
17.6.2 不同操作环境下用于C语言的DB-Library的系统要求 371
17.7 用于Visual Basic的DB-Library 372
17.8 SQL-DMO 373
17.8.1 SQL-DMO语法约定 373
17.8.2 SQL-DMO对系统的要求 373
17.8.3 安装SQL-DMO 374
17.9 分析服务编程 375
17.9.1 分析服务体系结构 375
17.9.2 分析服务组件工具 376
17.10 复制编程 377
17.10.1 复制编程的优点 378
17.10.2 复制编程的计划 378
17.11 DTS编程 379
17.11.1 扩展DTS对象 379
17.12 扩展存储过程编程 379
17.12 URL访问与SQL Server 380
17.13 小结 382
第18章 SQL Server 2000对XML的支持 383
18.1 使用IIS虚目录管理SQL Server应用 384
18.1.1 IIS虚拟目录管理的系统要求 384
18.1.2 使用SQL Server的IIS虚拟目录管理工具 384
18.1.3 创建虚拟目录的例子 385
18.2 SQL对象模型的IIS虚拟目录管理 389
18.2.1 SQLVDirControl对象 389
18.2.2 SQLVDirs集合对象 390
18.2.3 SQLVDir对象 391
18.2.4 VirtualNames集合对象 393
18.2.5 VirtualName对象 394
18.2.6 使用对象模型创建nwind虚拟目录 394
18.3 使用HTTP访问SQL Server服务器 395
18.3.1 三层系统体系结构 397
18.3.2 特写的字符 397
18.3.3 URL编码中的实体编码 399
18.4 使用HTTP执行SQL语句 399
18.5 使用HTTP执行存储过程 403
18.6 使用HTTP访问模板文件 404
18.6.1 使用XML模板 405
18.6.2 使用模板执行SQL查询 406
18.6.3 向模板传递参数 408
18.6.4 在模板中指定XSL样式表 411
18.7 SQL Server的OLE DB提供者对XML的扩展 413
18.7.1 使用IcommandText设置XML命令 413
18.7.2 使用IcommandStream设置XML 413
18.7.3 SQL OLE DB提供者的特定属性 414
18.8 POST模板的示例应用程序 415
18.8.1 使用HTML表单发送模板 415
18.8.2 直接向虚拟目录发送模板 417
18.9 小结 418
第19章 SQL Server与ADO 419
19.1 ADO对象模型 419
19.1.1 Connection对象 421
19.1.2 Recordset对象 422
19.1.3 Errors集合和Errors对象 423
19.1.4 Parameters集合和Parameter对象 424
19.1.5 Fields集合和Field对象 427
19.1.6 Stream对象 427
19.1.7 Properties集合和Property对象 428
19.2 不同开发环境中的ADO应用 429
19.2.1 Visual Basic与ADO 429
19.2.2 Visual C++与ADO 430
19.2.3 Web-Based应用 430
19.3 使用ADO执行查询 430
19.3.1 数据源管理 430
19.3.2 使用ADO连接SQL Server数据源 431
19.3.3 执行查询 432
19.4 处理结果 437
19.5 ADO高级特性 439
19.5.1 在ADO中使用游标 439
19.5.2 在ADO中执行事务 440
19.5.3 在ADO中处理DDL 441
19.5.4 管理长数据类型 442
19.6 小结 444
第20章 数据仓库概论 445
20.1 数据仓库基本原理 445
20.1.1 数据仓库的概念、结构 445
20.1.2 数据集市 447
20.1.3 数据仓库系统 449
20.2 数据仓库的数据获取 451
20.2.1 数据质量与净化 451
20.2.2 数据变换 452
20.2.3 元数据 454
20.3 数据仓库的数据组织 455
20.3.1 多维表的数据组织 455
20.3.2 多维表的设计 457
20.3.3 多维表设计例 458
20.3.4 多维数据库的数据组织 460
20.4 数据仓库的数据访问和决策分析 462
20.4.1 联机分析处理OLAP 462
20.4.2 数据仓库的查询与索引技术 467
20.5 维护数据仓库 471
20.5.1 更新数据仓库中数据 471
20.5.2 管理数据仓库 472
20.5.3 监视数据仓库性能 472
20.6 小结 473
第21章 数据开采概论 474
21.1 数据开采与知识发现综述 474
21.1.1 知识发现与数据开采的兴起 474
21.1.2 知识发现和数据开采概念 474
21.1.3 数据开采任务 475
21.1.4 数据开采的对象 477
21.1.5 数据开采方法和技术 477
21.1.6 数据开采的知识表示 480
21.2 基于信息论的学习方法 482
21.2.1 信息论原理 482
21.2.2 基于互信息的ID3算法 487
21.2.3 基于信道容量的IBLE算法 491
21.3 可视化数据开采 499
21.3.1 可视化概念 499
21.3.2 可视化系统与方法 500
21.3.3 可视化应用实例 502
21.4 小结 503
第22章 SQL Server 2000的分析服务 504
22.1 SQL Server 2000分析服务提供的新功能 504
22.1.1 多维数据集增强 504
22.1.2 维的增强 505
22.1.3 对数据开采的扩展 506
22.1.4 分析服务安全性的增强 506
22.1.5 在数据透视表服务中对客户连接的增强 506
22.1.6 功能扩展的其它方面 507
22.2 安装分析服务 507
22.3 SQL Server 2000分析服务的体系结构 508
22.3.1 分析服务的特性 508
22.3.2 分析服务的体系结构 511
22.3.3 服务器和客户机体系结构 512
22.3.4 分析服务对象体系结构 512
22.4 SQL Server 2000数据仓库和联机分析处理 525
22.5 创建OLAP数据库 526
22.5.1 添加数据源 527
22.5.2 添加维数 528
22.5.3 创建多维数据集 529
22.5.4 处理多维数据集 533
22.5.5 使用选项增强多维数据集处理能力 535
22.5.6 创建一个虚拟维 545
22.5.7 自动调度管理任务 547
22.6 使用SQL Server 2000分析管理器进行数据开采 547
22.6.1 使用决策树创建OLAP数据开采模型 547
22.6.2 浏览数据开采维和虚拟多维数据集 553
22.6.3 使用聚类开采数据开采模型 556
22.6.4 使用决策树开采关系数据开采模型 561
22.6.5 浏览依赖网络图 566
22.7 管理安全性 570
22.7.1 添加多维数据集角色 570
22.7.2 维成员和单元安全性管理 574
22.8 多维表达式 576
22.9 小结 580