《SQL Server 2000存储过程与XML编程》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)Dejan Sunderic著;陈浩奎等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2003
  • ISBN:7302077347
  • 页数:573 页
图书介绍:本书面向寻求最有效方式使用存储过程和XML进行编程的开发人员,详细描述专业开发人员需要掌握的关键概念、技术技巧和最佳实践,使读者能够充分利用SQL Server存储过程和SQLXML扩展,为客户提供高质量的服务。本书的每一章针对SQL Server开发的每个专业领域提供概念基础。前12章专门讲述存储过程编程,而第13-15章则专注于SQL Server 2000中的XML编程。书中通过一个贯穿始终的示例数据库,演示如何使用企业管理器、查询分析器、事件探查器、Visual SourceSafe、Visual Basic 和Visual Studio.NET来管理SQL Server资源,并解释了基本的和高级的XML知识,重点关注Microsoft数据库和开发工具中使用的XML相关特性。

目录 1

第1章 简介 1

1.1 本书的读者对象 2

1.2 本书涵盖的内容 2

1.3 需求 4

1.3.1 存储过程编程需求 4

1.3.2 XML编程需求 4

1.4 示例数据库和其他资源 5

1.4.1 示例数据库的安装 6

1.4.2 示例数据库的目的和设计 7

1.4.3 数据库关系图 8

第2章 SQL Server环境 15

2.1 SQL Server 2000工具 15

2.1.1 服务管理器 16

2.1.2 查询分析器 17

2.1.3 企业管理器 18

2.1.4 DTS和导入/导出数据 20

2.1.5 osql和isql 21

2.1.6 SQL Server Profiler 22

2.1.8 服务器网络实用工具 23

2.1.7 客户端网络实用工具 23

2.1.9 帮助子系统和SQL Server联机丛书 24

2.1.10 Web上的SQL Server 25

2.2 存储过程的基本操作 25

2.2.1 存储过程的概念 25

2.2.2 从查询分析器中执行存储过程 26

2.2.3 从企业管理器管理存储过程 29

2.2.4 在企业管理器中编辑存储过程 33

2.2.5 在查询分析器中编辑存储过程 33

2.2.6 语法错误 35

2.3.1 为什么烦恼 37

2.3 命名约定 37

2.3.2 命名对象和变量 38

2.3.3 建议约定 40

第3章 存储过程的设计概念 44

3.1 存储过程剖析 44

3.1.1 组成 45

3.1.2 功能 47

3.1.3 语法 53

3.2 存储过程类型 55

3.3.1 编译和执行过程 56

3.3 编译 56

3.3.2 执行计划的重用 57

3.3.3 重新编译存储过程 60

3.3.4 存储存储过程 61

3.4 管理存储过程 63

3.4.1 列出存储过程 63

3.4.2 查看存储过程代码 66

3.4.3 重命名存储过程 67

3.4.4 删除存储过程 67

3.4.5 列出对象的相关性 68

3.5.2 复杂业务规则和约束的一致性实现 70

3.5 存储过程在数据库应用程序开发中的作用 70

3.5.1 数据完整性实施 70

3.5.3 模块化设计 71

3.5.4 可维护性 71

3.5.5 减少网络流量 71

3.5.6 加快执行速度 72

3.5.7 安全实施 72

第4章 T-SQL的基本编程结构 73

4.1 T-SQL标识符 73

4.2 数据库对象限定符 75

4.3 数据类型 76

4.3.1 字符字符串 76

4.3.2 Unicode字符字符串 77

4.3.3 日期和时间数据类型 78

4.3.4 整数 79

4.3.5 近似数字 80

4.3.6 精确数字 80

4.3.7 货币数据类型 81

4.3.8 二进制数据类型 81

4.3.9 特殊数据类型 82

4.4 变量 85

4.4.1 局部变量 85

4.4.2 全局变量 89

4.4.3 表变量 91

4.5 流控制语句 93

4.5.1 注释 93

4.5.2 语句块:Begin...End 96

4.5.3 条件执行:If语句 97

4.5.4 循环:While语句 101

4.5.5 非条件执行:GoTo语句 104

4.6 游标 105

4.5.6 调度执行:WaitFor语句 105

4.6.1 T-SQL游标 106

4.6.2 和游标有关的语句和函数 109

4.6.3 与游标有关的一些问题 111

4.6.4 游标的合理使用 111

第5章 函数 114

5.1 函数的使用 114

5.1.1 在选择和赋值语句中使用 114

5.1.3 在表达式中使用 115

5.1.2 用作选择条件的一部分 115

5.1.4 作为Check约束和Default约束 116

5.1.5 Instead of表 116

5.2 函数类型 117

5.2.1 标量函数 117

5.2.2 聚合函数 142

5.2.3 行集函数 143

第6章 复合T-SQL结构:批处理、脚本和事务 146

6.1 批处理 146

6.1.2 批处理和错误 148

6.1.1 使用批处理 148

6.1.3 DDL批处理 151

6.1.4 自足内容 152

6.2 脚本 154

6.3 事务 157

6.3.1 自动提交事务 157

6.3.2 显式事务 158

6.3.3 隐式事务 160

6.3.4 事务处理体系结构 160

6.3.5 嵌套事务 161

6.3.7 保存点 166

6.3.6 命名事务 166

6.3.8 锁定 169

6.3.9 分布式事务 172

6.3.10 典型的锁定问题 174

第7章 调试和错误处理 177

7.1 调试 177

7.1.1 “Bug”的概念 177

7.1.2 调试过程 178

7.1.3 调试工具和技术 180

7.1.4 SQL事件探查器 193

7.1.5 典型错误 196

7.2 错误处理 200

7.2.1 Raiserror 200

7.2.2 使用错误处理 202

7.2.3 为什么烦恼 202

7.2.4 错误处理策略 203

7.2.5 相关的错误处理方法 206

7.2.6 Xact_Abort 211

7.2.7 另一种相关的错误处理方法 215

8.1 存储过程类型 221

第8章 特殊类型的过程 221

8.1.1 用户定义的存储过程 222

8.1.2 系统存储过程 222

8.1.3 扩展存储过程 223

8.1.4 临时存储过程 229

8.1.5 全局临时存储过程 230

8.1.6 远程存储过程 230

8.2 用户定义函数 231

8.2.1 用户定义函数的设计 231

8.2.2 用户定义的表值函数 235

8.2.3 内联用户定义的表值函数 238

8.2.4 在企业管理器中管理用户定义函数 239

8.3 触发器 241

8.3.1 After触发器的物理设计 242

8.3.2 处理多条记录上的改动 248

8.3.3 嵌套和递归式触发器 250

8.3.4 触发器约束 250

8.3.5 Instead-of触发器 251

8.3.6 视图上的触发器 252

8.3.8 管理触发器 254

8.3.7 触发器执行的顺序 254

8.3.9 关于触发器设计的建议 257

8.3.10 触发器中的事务管理 259

8.3.11 使用触发器 260

8.4 视图 265

8.4.1 标准SQL视图的设计 266

8.4.2 动态视图 270

8.4.3 INFORMATION_SCHEMA视图 271

8.4.4 索引视图 272

8.4.5 分区视图 274

8.4.6 使用SQL视图 287

第9章 高级存储过程编程 291

9.1 动态构造的查询 292

9.1.1 执行字符串 292

9.1.2 通过表单的查询 293

9.1.3 数据脚本生成器 296

9.1.4 使用sp_executesql存储过程 300

9.1.5 安全性含义 301

9.2 使用timestamp值的乐观锁定 304

9.2.1 timestamp 305

9.2.2 TSEqual()函数 306

9.2.3 timestamp转换 308

9.3 全文搜索和索引 310

9.4 嵌套存储过程 312

9.4.1 使用临时表传递记录集给嵌套存储过程 312

9.4.2 使用游标传递记录集给嵌套存储过程 315

9.4.3 如何处理存储过程的结果集 318

9.5 使用标识值 323

9.5.1 一个标准问题和解决方案 323

9.5.2 标识值和触发器 324

9.6 GUID 326

9.5.3 范围内的最后一个标识值 326

9.7 使用Min()或Max()函数的While循环 328

9.8 使用sp_MSForEachTable和sp_MSForEachDb进行循环 329

9.9 属性管理 331

第10章 与SQL Server环境交互 333

10.1 OLE自动化/COM对象的执行 334

10.2 运行程序 337

10.3 运行Windows脚本文件 338

10.4 运行/循环DTS包 338

10.5 和NT注册表进行交互 340

10.5.2 xp_regwrite 341

10.5.1 xp_regread 341

10.6 作业 342

10.6.1 作业的管理 342

10.6.2 另一个选择——Job Scheduler 347

10.6.3 用于维护作业的存储过程 347

10.6.4 操作人员和警报 348

10.7 SQL Server和Web 349

10.7.1 Web助手 349

10.7.2 Web作业存储过程 353

10.7.3 Web页面模板 355

10.8 电子邮件 356

10.9 安全性 360

10.9.1 安全性体系结构 360

10.9.2 实现安全性 362

10.9.3 登录和用户名的同步 368

10.9.4 使用存储过程、用户自定义函数和视图管理应用程序安全性 371

10.9.5 使用代理用户管理应用程序安全性 373

10.9.6 使用应用程序角色管理应用程序安全性 373

11.1 源代码管理的概念 375

第11章 源代码管理和数据库部署 375

11.1.1 Microsoft Visual SourceSafe简介 376

11.1.2 管理Visual SourceSafe数据库 377

11.1.3 在Visual Studio.NET中向Visual SourceSafe添加数据库对象 377

11.1.4 在Visual Studio.NET中管理创建脚本 380

11.1.5 Visual SourceSafe浏览器 382

11.1.6 添加数据库对象到Visual SourceSafe中:传统方法 386

11.2 数据库部署 388

11.2.1 完整数据库的部署:传统方法 388

11.2.2 单个对象的部署 390

12.1 环境特征 400

第12章 用于Web搜索引擎的存储过程 400

12.2 一个简单的解决方案 401

12.3 缺陷 402

12.4 可用的解决方案 403

12.4.1 结果拆分 404

12.4.2 快速查询 413

12.4.3 高级查询 417

第13章 面向数据库开发人员的XML简介 421

13.1 XML的发展 421

13.2.2 构造标记语言块 423

13.2.1 标记语言简介 423

13.2 XML简介 423

13.2.3 XML元素和属性 424

13.2.4 处理指令 425

13.2.5 文档类型定义 425

13.2.6 XML注释和CDATA部分 427

13.2.7 字符引用和实体引用 427

13.2.8 XML命名空间 428

13.2.9 XML文档的结构 429

13.2.10 XML解析器和DOM 430

13.3.1 XML Schema和XML模式 431

13.3 XML的文档属性 431

13.3.2 XML数据简化(XDR)模式 432

13.3.3 XML Schema(XSD) 436

13.4 XML中的链接和查询 446

13.4.1 XPointer 446

13.4.2 XPath 447

13.5 转换XML 449

13.5.1 XSL 450

13.5.2 XSLT 450

13.6.1 组织之间的信息交换 451

13.6 为什么要使用XML 451

13.6.2 信息发布 452

第14章 使用SQLXML发布信息 453

14.1 ForXML子句 453

14.1.1 Auto模式 454

14.1.2 聚集函数 458

14.1.3 计算列 459

14.1.4 Elements选项 459

14.1.5 XMLData选项 460

14.1.6 BINARY Base64选项 461

14.1.8 Explicit模式 462

14.1.7 Raw模式 462

14.2 使用HTTP发布数据库信息 471

14.2.1 对通过HTTP协议的数据库访问进行配置 471

14.2.2 使用URL访问数据库信息 475

14.2.3 虚拟目录的故障排除 477

14.2.4 通过HTTP执行存储过程 478

14.2.5 使用模板访问数据库信息 479

14.2.6 把查询通过POST传递到服务器 488

14.2.7 基于带注释的XDR模式的XML视图 491

14.2.8 基于带注释的XSD模式的XML视图 500

14.3 可编程的数据库访问 505

14.4 使用ADO.NET检索XML数据 513

14.4.1 使用SqlCommand 513

14.4.2 使用DataSet对象 514

14.5 客户端的XML处理 515

14.5.1 使用URL查询 516

14.5.2 使用模板 516

14.5.3 使用SQLXML受控类 517

14.5.4 带有ForXML子句的查询的处理 517

15.1.1 文档准备 519

15.1 OpenXML() 519

第15章 使用SQLXML修改数据库 519

15.1.2 关闭文档 520

15.1.3 检索XML信息 521

15.1.4 OpenXML()中的元属性 524

15.1.5 如果XML文档长度大于8000个字符会怎样 526

15.2 UpdateGrams 527

15.2.1 执行UpdateGrams 528

15.2.2 以元素为中心的UpdateGram和以属性为中心的UpdateGram 530

15.2.3 带参数的UpdateGrams 531

15.2.5 返回标识值 533

15.2.4 把参数设为Null 533

15.2.6 特殊字符 535

15.2.7 幕后的UpdateGrams 536

15.2.8 带有UpdateGrams的乐观锁定 536

15.2.9 一个UpdateGram中的多条记录和多个表 538

15.3 DiftGrams 539

15.3.1 使用DiffGram插入数据 540

15.3.2 使用DiffGram更新数据 542

15.3.3 使用DiffGram删除数据 543

15.3.5 后台的DiffGram 544

15.3.4 使用DiffGram处理多条记录 544

15.3.6 使用可编程的SqlXmlCommand执行DiffGram 546

15.3.7 使用URL执行DiffGram 546

15.3.8 在DataSet改动之后产生DiffGram 547

15.3.9 调试DiffGram 548

15.4 SQLXML BulkLoad 548

15.4.1 从.NET应用程序执行SQLXML BulkLoad 549

15.4.2 错误日志文件 550

15.4.3 从DTS(使用VBScript)执行BulkLoad 550

15.4.6 数据完整性 552

15.4.5 BulkLoad事务 552

15.4.4 Schema Generation 552

15.4.7 表锁 553

15.4.8 使用SQLXML BulkLoad 553

15.4.9 映射模式 553

15.5 XML Web Services 555

15.5.1 SOAP消息和XML Web Services体系结构 555

15.5.2 使用SQLXML创建XML Web服务 556

15.5.3 创建.NET SOAP客户端程序 558

附录 SQL Server2000中的T-SQL与XML数据类型 566