《SQL Server 2005中文版数据库管理与开发从入门到精通》PDF下载

  • 购买积分:23 如何计算积分?
  • 作  者:袁永林,宁义,汪海波等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302151377
  • 页数:875 页
图书介绍:本书介绍SQL Server 2005数据库管理与开发的知识。

第1章 SQL Server 2005概述 1

1.1 SQL Server 2005版本简介 1

1.1.1 版本说明 2

1.1.2 硬件和OS要求 3

1.1.3 2005版本新特性 4

1.2 数据库系统开发模型 10

1.2.1 单层结构(主机系统) 10

1.2.2 2-层结构(客户/服务器结构) 10

1.2.3 3-层结构 11

1.2.4 n-层结构 11

1.3 数据存取模型 12

1.4 安装 13

1.5 SQL Server2005的组件 15

1.5.1 数据库对象 17

1.5.2 SQL Server的数据类型 30

1.5.3 SQL Server的对象标识符 33

1.6 小结 34

第2章 SQL Server 2005实用工具 35

2.1 SQL Server管理工具 35

2.1.1 SQL Server Management Studio 35

2.1.2 复制 36

2.1.3 综合服务 36

2.1.4 MS DTC管理控制台 37

2.1.5 SQL Server Profiler 37

2.1.6 查询分析器 38

2.1.7 OSQL 38

2.1.8 sqlmaint.exe 38

2.2 配置工具(Configuration Tools) 39

2.2.1 Notification Services Command Prompt 39

2.2.2 Reproting Services Configuration 40

2.2.3 SQL Server Configuration Manager 40

2.2.4 SQL Server Error and Usage Reporting 47

2.2.5 SQL Server Surface Area Configuration 49

2.3 性能工具(Performance Tools) 49

2.3.1 数据库引擎优化顾问 50

2.3.2 SQL Server Profiler 51

2.4 文档和指南(Documentation and Tutorials) 52

2.4.1 联机丛书 52

2.4.2 示例 53

2.4.3 指南 53

2.5 SQL Server 2005 Upgrade Advisor 54

2.6 开发工具 54

2.7 小结 54

第3章 SQL Server 2005数据库开发基础 55

3.1 T-SQL基础语句 55

3.1.1 最基本的SELECT语句 55

3.1.2 INSERT语句 65

3.1.3 用UPDATE语句更新取得的数据 66

3.1.4 DELETE语句 67

3.2 联接表 68

3.2.1 联接 68

3.2.2 内部联接 70

3.2.3 外部联接 72

3.2.4 完全联接 76

3.2.5 交叉联接 77

3.2.6 探讨联接的替代语法 77

3.2.7 联合 79

3.3 创建和修改表 81

3.3.1 SQL Server的对象名 81

3.3.2 CREATE语句 83

3.3.3 ALTER语句 86

3.3.4 DROP语句 89

3.4 约束 89

3.4.1 约束类型 90

3.4.2 约束名 91

3.4.3 键约束 91

3.4.4 CHECK约束 97

3.4.5 默认约束 98

3.4.6 禁用约束 100

3.4.7 规则和默认值 101

3.4.8 维护数据完整性的触发器 104

3.4.9 比较 104

3.5 视图 105

3.5.1 简单视图 106

3.5.2 利用T-SQL编辑视图 108

3.5.3 删除视图 108

3.5.4 审核 108

3.5.5 加密视图 109

3.5.6 架构绑定 110

3.5.7 使用VIEW_METADATA 110

3.5.8 索引视图 110

3.6 脚本和批处理 112

3.6.1 编写脚本的基础 112

3.6.2 批处理 117

3.6.3 OSQL 118

3.6.4 动态SQL 119

3.7 存储过程 120

3.7.1 创建存储过程 120

3.7.2 利用ALTER改变存储过程 121

3.7.3 删除存储过程 122

3.7.4 参数化 122

3.7.5 流控制语句 123

3.7.6 存储过程返回值 127

3.7.7 异常处理 128

3.7.8 过程的用途 134

3.7.9 扩展的存储过程(XPs) 136

3.7.10 系统存储过程 137

3.7.11 递归 138

3.8 用户自定义函数 141

3.8.1 返回标量值的UDF 142

3.8.2 返回表的UDF 145

3.8.3 创建“系统”函数 149

3.9 触发器 151

3.9.1 触发器定义 152

3.9.2 使用触发器维护引用完整性规则 155

3.9.3 使用触发器维护数据完整性规则 156

3.9.4 触发器的其他常见用途 156

3.9.5 触发器的其他问题 157

3.9.6 INSTEAD OF触发器 160

3.10 SQL游标 162

3.10.1 游标的定义 162

3.10.2 游标范围 163

3.10.3 游标类型和扩展声明语法 165

3.10.4 用FETCH语句操纵游标 172

3.10.5 在游标中改变数据 173

3.11 数据库快照 173

3.11.1 稀疏文件 173

3.11.2 工作方式 174

3.11.3 创建数据库快照 176

3.11.4 典型用法与限制 177

3.11.5 恢复和删除数据库快照 180

3.12 小结 182

第4章 范式化和其他基本设计问题 185

4.1 表和实体 185

4.2 实现“范式化” 186

4.2.1 准备工作 187

4.2.2 第一范式 188

4.2.3 第二范式 190

4.2.4 第三范式 191

4.2.5 其他范式 192

4.3 关系 193

4.3.1 一对一 193

4.3.2 一对一或一对多 195

4.3.3 多对多 195

4.4 关系图 197

4.5 调整数据库的范式化 204

4.5.1 保持简化 205

4.5.2 选择数据类型 205

4.5.3 有关存储的错误 205

4.5.4 良构数据库 206

4.6 更多的关系图和关系 207

4.6.1 一组关系类型 207

4.6.2 实体盒 207

4.6.3 关系线 208

4.6.4 终止符 208

4.7 数学建模 209

4.7.1 逻辑模型的目标 209

4.7.2 数学建模的组成 210

4.8 处理基于文件的信息 211

4.9 子类 213

4.9.1 子类的类型 215

4.9.2 实现子类 215

4.9.3 子类的物理实现 217

4.9.4 子类与扩展性 217

4.10 数据库重用 218

4.10.1 候选的重用数据库 218

4.10.2 分解 219

4.10.3 重用的代价 219

4.11 通过分区实现扩展性 220

4.12 小结 221

第5章 SQL Server 2005的开发模式 222

5.1 开发人员信息中心 222

5.1.1 应用程序设计概念 223

5.1.2 数据库设计概念 234

5.1.3 语言 242

5.1.4 数据访问编程 242

5.1.5 管理编程 242

5.1.6 工具 245

5.2 管理员信息中心 246

5.2.1 概念 246

5.2.2 使用数据库引擎 252

5.3 结构设计师信息中心 255

5.4 工作者信息中心 256

5.5 设计与部署 256

5.5.1 开发数据库计划 256

5.5.2 联机事务处理和决策支持 258

5.5.3 规范化 259

5.5.4 数据完整性 260

5.5.5 查看扩展属性 261

5.6 小结 263

第6章 SQL Server 2005下的XML开发基础 264

6.1 XML基础 265

6.1.1 XML文档的组成 266

6.1.2 良构XML 271

6.1.3 确定元素和属性 272

6.2 命名空间 272

6.3 DTD和架构 274

6.3.1 DTD 274

6.3.2 XML架构集合 275

6.3.3 DTD/架构和性能总结 279

6.4 转换——XSLT 280

6.5 FOR XML子句 282

6.5.1 RAW 283

6.5.2 AUTO 288

6.5.3 EXPLICIT 289

6.5.4 OPENXML 307

6.5.5 XML语法规则 316

6.5.6 元素的语法 318

6.5.7 注释的语法 318

6.5.8 CDATA的语法 318

6.5.9 namespaces的语法 319

6.5.10 entity的语法 319

6.6 小结 320

第7章 复制 322

7.1 bcp 322

7.1.1 bcp语法 323

7.1.2 bcp导出 326

7.1.3 格式化文件 326

7.1.4 bcp导入 329

7.1.5 BULK INSERT 332

7.1.6 OPENROWSET 333

7.1.7 XML大容量加载 335

7.1.8 优化大容量导入的方法 340

7.2 支持分布式数据 341

7.3 架构复制时的考虑 341

7.3.1 独立性 342

7.3.2 延迟性 342

7.3.3 数据一致性 342

7.3.4 架构一致性 342

7.3.5 其他考虑 343

7.4 发布比喻 343

7.4.1 订阅刊物 345

7.4.2 订阅服务器类型 346

7.4.3 过滤数据 346

7.5 复制类型 346

7.5.1 快照复制 347

7.5.2 合并复制 349

7.5.3 事务复制 353

7.5.4 立即更新的订阅服务器 355

7.5.5 混合复制类型 356

7.6 复制模型假设 356

7.6.1 标准模型 357

7.6.2 混合模型 358

7.6.3 附加说明 359

7.7 实现示例 359

7.7.1 承包人供应公司 359

7.7.2 清除服务 360

7.8 计划复制 361

7.8.1 数据考虑 361

7.8.2 复制类型 362

7.8.3 复制向导 362

7.9 启用发布和分发 362

7.9.1 启动向导 363

7.9.2 默认配置 364

7.9.3 禁用发布 365

7.9.4 T-SQL过程 366

7.10 事务/快照发布刊物 366

7.10.1 创建和管理发布向导 366

7.10.2 配置之后 368

7.10.3 T-SQL过程 371

7.11 合并发布刊物 371

7.12 异类数据库复制 371

7.12.1 从Oracle发布数据 372

7.12.2 将数据发布到非SQL Server订阅服务器上 379

7.13 管理复制 380

7.13.1 复制脚本 380

7.13.2 支持各种复制 380

7.13.3 发布到Internet上 381

7.13.4 复制和架构变化 381

7.13.5 复制监视器 383

7.13.6 后续 384

7.14 企业范围的自动化管理 384

7.14.1 创建多服务器环境 385

7.14.2 管理作业 385

7.14.3 轮询服务器 386

7.14.4 管理事件 387

7.15 高可用性解决方案 388

7.16 小结 390

第8章 SQL Server 2005的高级查询 391

8.1 在SQL Server 2005中使用XML 391

8.1.1 xml数据类型表示形式 391

8.1.2 xml数据类型 392

8.1.3 xml数据类型列的索引 394

8.1.4 管理服务器上的XML架构集 395

8.1.5 使用FOR XML和OPENXML发布和处理XML数据 395

8.1.6 客户端XML功能 397

8.2 使用本机XML Web服务 399

8.2.1 本机XML Web服务的工作原理 399

8.2.2 启用本机XML Web服务 400

8.2.3 本机XML Web服务的安全性方法 401

8.2.4 设置服务器以侦听本机XML Web服务请求 401

8.2.5 使用WSDL 401

8.2.6 SOAP技术 401

8.3 公共语言运行时 412

8.3.1 开始使用CLR 413

8.3.2 .NET框架中的应用 415

8.4 高级查询 418

8.4.1 建立嵌套子查询 419

8.4.2 关联子查询 423

8.4.3 衍生表 427

8.4.4 EXISTS操作符 429

8.4.5 混合数据类型:CAST和CONVERT 432

8.4.6 性能考虑 435

8.5 小结 436

第9章 综合服务 437

9.1 体系结构 437

9.2 综合服务工具和实用工具 439

9.2.1 综合服务与Studio环境 439

9.2.2 SSIS设计器及概念 440

9.2.3 SSIS向导 453

9.2.4 执行包实用工具 456

9.3 SSIS设计 456

9.3.1 生成解决方案 456

9.3.2 设计和创建SSIS包 458

9.3.3 部署包 467

9.4 典型用途 472

9.5 小结 474

第10章 全文检索 475

10.1 SQL Server的存储方式 476

10.1.1 各种版本的存储共性 477

10.1.2 SQL Server 7.0以前版本的存储方式 480

10.1.3 SQL Server 7.0及以后版本的存储方式 481

10.2 索引定义 485

10.2.1 B-树 486

10.2.2 访问数据的原理 488

10.2.3 索引类型和索引遍历 489

10.3 创建和删除索引 502

10.3.1 CREATE INDEX语句 502

10.3.2 创建约束时暗含的索引 505

10.3.3 XML索引 506

10.4 选择创建索引的时机 512

10.4.1 可选择性 512

10.4.2 成本 513

10.4.3 选择聚集索引 513

10.4.4 列顺序问题 515

10.4.5 删除索引 515

10.5 维护索引 516

10.5.1 碎片 516

10.5.2 定义碎片与页拆分的可能性 516

10.6 全文检索体系结构 520

10.7 设置全文索引和分类 521

10.7.1 授予数据库全文搜索能力 522

10.7.2 创建全文目录 522

10.7.3 给独立的表启用全文检索功能 523

10.7.4 索引组装 526

10.8 全文查询语法 528

10.8.1 CONTAINS 528

10.8.2 FREETEXT 529

10.8.3 CONTAINSTABLE 529

10.8.4 FREETEXTTABLE 531

10.8.5 处理短语 531

10.8.6 近似(Proximity) 533

10.8.7 前缀条件 533

10.8.8 权重 534

10.8.9 词尾变化 535

10.8.10 对等级的简单总结 535

10.9 噪声单词 535

10.10 语言 536

10.11 sp_fulltext_service 537

10.12 小结 537

第11章 事务、锁和分布式查询 539

11.1 事务 540

11.1.1 BEGIN TRAN 541

11.1.2 COMMIT TRAN 541

11.1.3 ROLLBACK TRAN 541

11.1.4 SAVE TRAN 541

11.2 事务日志 542

11.2.1 失败和恢复 544

11.2.2 日志传送 545

11.2.3 隐式事务 546

11.2.4 检查点 547

11.2.5 截断 549

11.2.6 收缩事务日志 550

11.2.7 使用事务日志备份 552

11.2.8 事务日志物理体系结构 554

11.3 锁和并发性 555

11.3.1 锁可以阻止的问题 556

11.3.2 可以加锁的资源 560

11.3.3 锁增加和锁对性能的影响 560

11.3.4 锁模式 563

11.3.5 锁的兼容性 565

11.3.6 说明特定锁的类型 566

11.4 设置隔离层 569

11.5 快照隔离 572

11.5.1 隔离级别 572

11.5.2 行版本控制 573

11.5.3 快照隔离事务示例 577

11.5.4 通过行版本控制的已提交读示例 578

11.6 处理死锁 580

11.6.1 指出存在死锁 580

11.6.2 选择死锁牺牲品 581

11.6.3 避免死锁 581

11.7 故障转移群集 583

11.8 分布式事务 584

11.8.1 准备阶段 584

11.8.2 提交阶段 585

11.9 分布式查询 585

11.9.1 创建链接服务器 586

11.9.2 使用链接服务器 588

11.9.3 从远程服务器上收集元数据 593

11.9.4 创建和使用通道查询 595

11.9.5 在远程数据源上使用特别查询 597

11.9.6 其他分布式查询的注意事项 598

11.10 分布式分区视图 600

11.11 小结 607

第12章 SQL Server 2005服务 609

12.1 服务分割器 609

12.1.1 Service Broker概念 610

12.1.2 Service Broker体系结构 612

12.2 分析服务 618

12.2.1 终端用户的要求 618

12.2.2 维度数据库 622

12.2.3 OLAP存储类型 627

12.2.4 数据仓库 628

12.2.5 数据转换 630

12.2.6 元数据 631

12.2.7 数据挖掘模型 634

12.2.8 数据挖掘算法 634

12.2.9 分析服务体系结构 637

12.2.10 商业智能增强功能 642

12.3 报表服务 643

12.3.1 创建和管理报表 645

12.3.2 功能与概念 646

12.3.3 报表服务体系结构 649

12.4 通知服务 650

12.4.1 通知服务定义 650

12.4.2 关键术语 651

12.4.3 通知服务体系结构 652

12.5 小结 654

第13章 性能调试与优化 655

13.1 索引选择 656

13.2 数据库引擎优化顾问 657

13.2.1 工作负荷 658

13.2.2 注意事项 659

13.3 数据处理 660

13.4 策略要求 661

13.5 程序维护 662

13.6 优化存储过程 662

13.6.1 尽可能缩短事务 662

13.6.2 尽可能使用限制最少的事务隔离层 662

13.6.3 必要时可以执行多种解决方案 662

13.6.4 尽量避免使用游标 663

13.7 使用临时表 663

13.8 硬件考虑 663

13.8.1 服务器的独占使用 664

13.8.2 I/O与CPU速度 664

13.8.3 OLTP与OLAP 667

13.8.4 在线或离线 667

13.8.5 宕机 667

13.8.6 丢失数据 668

13.8.7 性价比 668

13.8.8 服务器 668

13.8.9 理想系统 668

13.9 解决方法 669

13.9.1 各种显示计划和统计信息 669

13.9.2 数据库一致性检验程序 673

13.9.3 查询控制器(Query Governor) 675

13.9.4 SQL Server Profiler(事件探查器) 676

13.9.5 性能监视器(Perfmon) 679

13.10 小结 681

第14章 SQL Server 2005管理 682

14.1 安全性基础 683

14.1.1 固定登录ID和口令 683

14.1.2 口令有效期 684

14.1.3 长度与组成 685

14.1.4 登录次数 686

14.1.5 存储用户和口令 687

14.2 安全性选项 687

14.2.1 SQL Server安全性 688

14.2.2 操作系统集成安全性 691

14.3 用户权限 693

14.3.1 对特定数据库授予访问权 693

14.3.2 在数据库中授予对象许可权 694

14.3.3 用户权限和语句级的许可权 697

14.4 服务器和数据库角色 698

14.4.1 服务器角色 698

14.4.2 数据库角色 699

14.5 应用程序角色 702

14.5.1 创建应用程序角色 703

14.5.2 给应用程序角色添加许可权 703

14.5.3 使用应用程序角色 703

14.5.4 删除应用程序角色 704

14.6 XML的安全性 704

14.7 更高级的安全性 705

14.7.1 处理Guest账户 705

14.7.2 TCP/IP端口设置 706

14.7.3 禁用sa账户 706

14.7.4 xp_cmdshell 706

14.7.5 其他工具 706

14.8 调度表作业 707

14.8.1 创建操作员 708

14.8.2 创建作业和任务 710

14.9 备份和还原 720

14.9.1 重要性及目标 721

14.9.2 备份介质 722

14.9.3 备份 724

14.9.4 恢复数据 726

14.9.5 恢复模式 728

14.9.6 恢复优化 730

14.9.7 SQL Server代理 733

14.10 自动响应警报 734

14.10.1 在数据库引擎中创建自动响应警报 735

14.10.2 在T-SQL中创建自动响应警报 735

14.11 全文目录操纵 737

14.11.1 备份与恢复 737

14.11.2 安排注入的调度 737

14.12 异地复制 737

14.12.1 复制数据库向导 737

14.12.2 备份和恢复 738

14.12.3 连接/分离 738

14.13 索引重建 738

14.14 归档数据 739

14.15 小结 740

第15章 案例精解 741

15.1 AdventureWorks设计基础 741

15.2 AdventureWorks总体设计 742

15.2.1 所有者 744

15.2.2 相关表 746

15.3 AdventureWorks示例 749

15.3.1 查询示例 749

15.3.2 分区表和分区索引示例 757

15.3.3 CLR触发器 760

15.4 数据挖掘算法 772

15.4.1 决策树算法 772

15.4.2 时序算法 774

15.4.3 聚类分析算法 777

15.4.4 关联算法 778

15.4.5 顺序分析和聚类分析算法 780

15.5 Xquery语言 781

15.6 HTTP访问 782

15.6.1 设置HTTP访问 783

15.6.2 基于URL的查询 785

15.6.3 使用模板 786

15.6.4 POST 789

15.6.5 XPath 791

15.6.6 设计结果的样式 795

15.7 使用IcommandStream设置XML命令 798

15.8 小结 821

附录A 函数类别 822

附录B 用WMI编写管理函数 823

B.1 SQL Server脚本管理的历史和未来 823

B.2 WMI工具与结构 824

B.3 WMI对象基本知识 826

B.3.1 类 827

B.3.2 实例 828

B.3.3 关联 829

B.3.4 命名空间 829

B.4 安装WMI SQL Server管理提供商 830

B.5 连接到WMI 834

B.6 实例检索操作 836

B.6.1 枚举所有实例 837

B.6.2 得到特定实例 838

B.6.3 实例查询 841

B.6.4 关联查询 842

B.6.5 从实例调用程序中得到最好性能的技巧 846

B.7 修改实例 849

B.8 创建实例 851

B.9 删除实例 852

B.10 调用方法 853

B.10.1 动态方法 853

B.10.2 静态方法 856

B.11 使用事件 858

B.11.1 实例事件 858

B.11.2 非实例事件 863

B.12 静态设置类 864

B.13 访问限定词 866

B.13.1 使用SQL Server特定的限定词 869

B.13.2 SQLVersion 869

B.13.3 WriteAtCreate和WriteAtUpdate 870

B.14 小结 870

附录C SQLCMD 871