《SQL Server 2000高级编程技术》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:(美)Dejan Sunderic,(美)Tom Woodhead著;熊桂喜等译
  • 出 版 社:北京市:清华大学出版社
  • 出版年份:2002
  • ISBN:7302052700
  • 页数:470 页
图书介绍:这是一本极具特色、难得一见的介绍SQL Server 2000高级编程技术的数据库专业参考书。全书以存储过程为主,围绕设计高水平、专业的数据库应用和Web应用这一主题,全面介绍了设计、编写、执行、管理、调试、重编译、加密及部署存储过程的各个方面知识,并介绍了实现一个关键应用所需的出错处理、调试和版本控制等技术。与其他只围绕微软给出的pubs和Northwind数据库打转转的同类SQL Server书籍相比。本书涵盖了所有SQL Server版本,包括MSDE,最大特点是通过一个名为Asset的虚构资产跟踪数据库进行介绍,有针对性,实用性更强,而且主要章节都有习题,书后有习题解答。本书的读者对象为具备了数据库基础知识且已了解了SQL Server的专业人员,以及MCSE和MSDE资格认证考试人员。

第1章 简介 1

1.1 谁是本书的读者 1

1.2 本书的内容 2

1.3 需求 3

1.4 SQL Server 2000的新特性 4

1.4.1 改进了对Web的支持 4

1.4.2 改进了伸缩能力和可靠性 4

1.4.3 改进了开发和管理环境 5

1.5 样本数据库 5

1.5.1 样本数据库安装 5

1.5.2 样本数据库的设计目的和设计思想 7

1.5.3 数据库图解 8

1.6 小结 13

第2章 关系数据库概念和SQL Server环境 14

2.1 数据库 14

2.1.1 关系数据库 15

2.1.2 数据库对象 15

2.1.3 什么是存储过程 20

2.2 SQL Server 2000的工具 20

2.2.1 Service Manager 20

2.2.2 Query Analyzer 21

2.2.3 Enterprise Manager 22

2.2.4 DTS--导入和导出数据 24

2.2.5 osql和isql 25

2.2.6 SQL Server Profiler 26

2.2.7 客户端网络实用工具 26

2.2.8 帮助子系统和SQL Server Books Online 27

2.3 存储过程的基本操作 28

2.3.1 通过Query Analyzer执行存储过程 28

2.3.2 通过Enterprise Manager管理存储过程 31

2.3.3 在Enterprise Manager中编辑存储过程 35

2.3.4 在Query Analyzer中编辑存储过程 35

2.3.5 语法错误 36

2.3.6 Create Stored Procedure Wizard 38

2.4 小结 41

2.5 练习 41

第3章 存储过程设计概念 43

3.1 存储过程的结构 43

3.1.1 组成 43

3.1.2 功能 46

3.1.3 语法 51

3.2 存储过程的类型 52

3.3 编译 53

3.3.1 编译和执行过程 54

3.3.2 执行规划的重用 54

3.3.3 重编译存储过程 57

3.3.4 存储存储过程 58

3.4 管理存储过程 59

3.4.1 列举存储过程 60

3.4.2 查看存储过程 62

3.4.3 重命名存储过程 63

3.4.4 删除存储过程 63

3.4.5 查看相关和有依赖关系的对象 64

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

3.5.1 增强数据完整性 66

3.5.2 复杂商业规则和约束的一致实现 66

3.5.3 模块化设计 66

3.5.4 可维护性 66

3.5.5 减少网络流量 67

3.5.6 更快的执行 67

3.5.7 增强了安全性 67

3.6 小结 67

3.7 练习 68

第4章 Transact-SQL编程基础 69

4.1 TSQL标识符 69

4.2 数据库对象限定词 71

4.3 数据类型 72

4.3.1 数据类型的分组 73

4.3.2 数据类型的同义词 81

4.3.3 用户定义的数据类型 81

4.4 变量 82

4.4.1 局部变量 82

4.4.2 全局变量 85

4.4.3 table(表)变量 88

4.5 流控制语句 88

4.5.1 注释 89

4.5.2 语句块-Begin...End 92

4.5.3 条件执行--If语句 93

4.5.4 循环--While语句 97

4.5.5 无条件执行--GoTo语句 99

4.5.6 调度执行--WaitFor语句 102

4.6 光标 102

4.6.1 Transact-SQL光标 103

4.6.2 与光标有关的语句和函数 106

4.6.3 使用光标带来的问题 107

4.6.4 合理使用光标 108

4.7 小结 110

4.8 练习 110

第5章 函数 112

5.1 使用函数 112

5.1.1 用于选择和赋值中 112

5.1.2 用于过滤规则中 113

5.1.3 用于表达式中 113

5.1.4 作为检查和默认的约束 113

5.1.5 替代表 114

5.2 函数的类型 115

5.2.1 标量函数 115

5.2.2 集合函数 142

5.2.3 行集合函数 144

5.3 小结 145

5.4 练习 145

第6章 复合Transact-SQL 结构--批处理、脚本和事务 147

6.1 批处理 148

6.1.1 使用批处理 149

6.1.2 批处理与出错 149

6.1.3 DDL批处理 152

6.2 脚本 155

6.2.1 数据库脚本编程 155

6.3 事务概念 157

6.3.1 自动提交的事务 158

6.3.2 显式事务 159

6.3.3 隐式事务 160

6.3.4 事务处理的结构 160

6.3.5 嵌套的事务 161

6.3.6 已命名的事务 165

6.3.7 保存点 166

6.3.8 锁定 168

6.3.9 事务隔离级别和提示 169

6.3.10 分布式事务 171

6.3.11 典型的出错 173

6.4 小结 175

6.5 练习 176

第7章 调试和出错处理 177

7.1 调试 177

7.1.1 什么是“bug” 177

7.1.2 调试过程 178

7.1.3 调试工具和技术 180

7.1.4 典型的出错 191

7.2 出错处理 195

7.2.1 使用出错处理 195

7.2.2 为何要自寻烦恼 195

7.2.3 出错处理的策略 196

7.2.4 一种通用的出错处理方法 200

7.2.5 XACT_ABORT 204

7.2.6 Raiserror 205

7.3 小结 206

7.4 练习 207

第8章 确定专业的编程风格 209

8.1 源代码控制的概念 209

8.1.1 Microsoft Visual SourceSafe简介 209

8.1.2 管理Visual SourceSafe数据库 210

8.1.3 往Visual SourceSafe中添加一个数据库 211

8.1.4 管理存储过程 214

8.1.5 Visual SourceSafe Explorer 216

8.2 命名约定 219

8.2.1 为何要自寻烦恼 220

8.2.2 命名变量和对象 220

8.2.3 建议的命名约定 223

8.3 小结 226

第9章 特殊类型的过程 227

9.1 存储过程和类型 227

9.1.1 用户定义的存储过程 227

9.1.2 系统存储过程 227

9.1.3 扩展的存储过程 228

9.1.4 临时存储过程 234

9.1.5 全局临时存储过程 234

9.1.6 远程存储过程 235

9.2 用户定义的函数 235

9.2.1 用户定义函数的设计 235

9.2.2 表值用户定义函数 239

9.2.3 行内的表值用户定义函数 242

9.2.4 在Enterprise Manager中管理用户定义的函数 243

9.3 触发器 245

9.3.1 物理设计 245

9.3.2 多记录上的修改操作 251

9.3.3 嵌套触发器和递归触发器 253

9.3.4 触发器的限制 253

9.3.5 SQL Server 2000中的触发器 254

9.3.6 管理触发器 258

9.3.7 设计触发器的建议 261

9.3.8 触发器中的事务管理 262

9.3.9 使用触发器 264

9.4 小结 268

9.5 练习 269

第10章 高级存储过程编程技术 270

10.1 动态地构造查询 270

10.1.1 执行一个串 270

10.1.2 通过窗体查询 271

10.1.3 使用sp_executesql存储过程 274

10.2 使用时间戳的乐观锁 275

10.2.1 时间戳 276

10.2.2 TSEQUAL函数 277

10.2.3 时间戳转换 279

10.3 全文搜索和索引 280

10.4 嵌套的存储过程 282

10.4.1 使用临时表来传递一个记录集给一个嵌套的存储过程 287

10.4.2 使用光标来传递一个记录集给一个嵌套的存储过程 290

10.5 如何处理一个存储过程的结果集 292

10.6 使用标识值 297

10.6.1 一个标准问题及解答 297

10.6.2 标识值与触发器 298

10.6.3 序列号表 299

10.6.4 在一个临时表中保存标识值 301

10.7 GUID 303

10.8 使用MIN或MAX函数的While循环 304

10.9 属性管理 306

10.10 小结 307

10.11 练习 308

第11章 与SQL Server环境的交互 309

11.1 OLE Automation对象的执行 309

11.1.1 sp-OACreate 311

11.1.2 sp-OAMethod 312

11.1.3 sp-OASetProperty 312

11.1.4 sp_OAGetProperty 312

11.1.5 sp-OADestroy 313

11.1.6 sp_OAGetErrorInfo 313

11.1.7 数据类型转换 313

11.2 运行程序 314

11.3 运行Windows脚本文件 315

11.4 与NT Registry的交互 315

11.4.1 Registry子树 315

11.4.2 键和子键 316

11.5 Registry和SQL Server 316

11.5.1 xp_regread 317

11.5.2 xp_regwrite 318

11.5.3 xp_regdeletevalue 318

11.6 作业 319

11.6.1 作业的管理 319

11.6.2 Job Scheduler的可选方法 322

11.6.3 用于维护作业的存储过程 323

11.6.4 操作员和报警 324

11.7 SQL Server和Web 324

11.7.1 Web Assistant 325

11.7.2 Web任务存储过程 328

11.7.3 sp_makewebtask 328

11.7.4 sp_runwebtask 329

11.7.5 sp_dropwebtask 329

11.7.6 Web页模板 329

11.8 串模板 331

11.8.1 xp_sprintf 331

11.8.2 xp_sscanf 332

11.9 邮件 332

11.9.1 用于E-Mail工作的扩展存储过程 333

11.9.2 xp_sendmail 333

11.9.3 xp_readmail 334

11.9.4 sp_processmail 335

11.10 数据库部署 335

11.10.1 在以前的环境中 335

11.10.2 在新版本的环境中 336

11.11 安全 337

11.11.1 安全结构 337

11.11.2 实现安全性 339

11.11.3 登录和用户名的同步 344

11.11.4 使用存储过程、用户定义函数和视图来管理应用程序安全 345

11.11.5 使用一个代理用户来管理应用程序安全 347

11.11.6 使用应用程序角色来管理应用程序安全 347

11.12 小结 347

11.13 练习 348

第12章 SQL Server 2000中的XML支持 349

12.1 XML的变迁 349

12.2 XML简介 350

12.2.1 标记语言简介 350

12.2.2 构造标记语言的块 351

12.2.3 XML 351

12.2.4 XML文档质量 356

12.2.5 XML解析器和DOM 361

12.2.6 XML中的链接和查询 362

12.2.7 转换XML 365

12.3 为何使用XML 366

12.3.1 用于单位之间的信息交换 366

12.3.2 信息发布 367

12.4 SQL Server中的XML支持 368

12.4.1 Transact-SQL语言扩展 368

12.4.2 OPENXML 384

12.4.3 使用XML发布数据库信息 391

12.5 小结 419

12.6 练习 419

附录A SQL Server 2000中的T-SQL和XML数据类型 422

附录B 练习答案 426