CruiseYoung提供的带有详细书签的电子书籍目录
http://blog.csdn.net/fksec/article/details/7888251
Transact-SQL 权威指南
基本信息
原书名: The Guru's Guide to Transact-SQL
原出版社: Addison-Wesley
作者: (美)Ken Henderson
译者: 健莲科技
丛书名: 其他
出版社:中国电力出版社
ISBN:7508310616
上架时间:2002-8-9
出版日期:2002 年8月
页码:462
版次:1-1
内容简介
书籍
计算机书籍
Transact—SQL是结构化查询语言(SQL)的增强版本,与许多ANSI SQL标准兼容,Transact-SQL代码已成为SQL Server的核心。本书全面介绍了Transact—SQL,全书共21章,按照由浅入深的顺序,详细介绍了Transact-SQL基本概念和主要应用。本书示例清晰,说理透彻,实是不可多得之佳选。
本书可供各个层次的读者使用。
目录
封面 -15
封底 -14
扉页 -13
版权 -12
译者序 -11
前言 -10
原书序 -9
目录 -6
第1章 Transact-SQL简介 1
1.1 选择SQL编辑器 2
1.2 创建数据库 3
1.3 创建表 3
1.4 插入数据 5
1.5 修改数据 6
1.6 删除数据 6
1.7 数据查询 7
1.8 数据过滤 10
1.9 数据分组 16
1.10 数据排序 17
1.11 列别名 18
1.12 表别名 19
1.13 事务处理管理 19
1.14 小结 20
第2章 Transact-SQL数据类型的细微差别 21
2.1 日期型 21
2.2 字符串型 31
2.3 数值型 49
2.4 BLOB型 53
2.5 位型(Bit) 60
2.6 uniqueidentifier(惟一标识符)型 61
2.7 光标变量 62
2.8 时戳 66
2.9 小结 68
第3章 遗漏值 69
3.1 NULL和表达式 70
3.2 NULL和函数 70
3.3 NULL和ANSI SQL 71
3.4 NULL和存储过程 73
3.5 必要时使用NULL 75
第4章 深入DDL 77
4.1 CREATETABLE 77
4.2 删除对象 81
4.3 创建索引 81
4.4 临时对象 82
4.5 对象命名及相关性 84
4.6 小结 86
第5章 深入DML 87
5.1 INSERT 87
5.2 UPDATE 96
5.3 DELETE 103
5.4 检测DML错误 107
5.5 小结 107
第6章 强大的SELECT语句 108
6.1 简单SELECT 108
6.2 计算字段和派生字段 109
6.3 SELECTTOP 109
6.4 派生表 111
6.5 连接 114
6.6 谓词 116
6.7 子查询 127
6.8 聚集函数 133
6.9 GROUPBY和HAVING 135
6.10 UNION 142
6.11 ORDERBY 143
6.12 小结 145
第7章 视图 146
7.1 约束 146
7.2 ANSI SQL模式视图 147
7.3 获取视图的源代码 148
7.4 可修改的视图 149
7.5 WITH CHECkOPTION 149
7.6 派生表 150
7.7 动态视图 151
7.8 使用视图划分数据 152
7.9 小结 154
第8章 统计函数 155
8.1 关于CASE 156
8.2 关于效率的考虑 157
8.3 方差和标准方差 157
8.4 中值 158
8.5 修剪 165
8.6 返回前n行 166
8.7 等级 169
8.8 模式 171
8.9 柱状图 172
8.10 累积和滑动聚集 173
8.11 极值 175
8.12 小结 177
第9章 运行和序列 178
9.1 序列(时序) 178
9.2 运行 183
9.3 间隔 186
9.4 小结 188
第10章 数组 189
10.1 作为大字符串的数组 189
10.2 作为表的数组 195
10.3 小结 202
第11章 集 203
11.1 联合 203
11.2 差集 205
11.3 交集 207
11.4 子集 209
11.5 小结 212
第12章 层次 213
12.1 简单层次 213
12.2 多级层次 214
12.3 锯齿状列表 220
12.4 小结 221
第13章 光标 222
13.1 光标和ISAM 222
13.2 光标类型 224
13.3 光标的正确使用 228
13.4 Transact-SQL光标语法 233
13.5 配置光标 241
13.6 修改光标 244
13.7 光标变量 245
13.8 光标存储过程 247
13.9 优化光标性能 247
13.10 小结 248
第14章 事务处理 249
14.1 事务处理的定义 249
14.2 SQL Server中的事务处理是如何工作的 250
14.3 事务处理类型 251
14.4 避免聚集事务处理 253
14.5 自动事务处理管理 253
14.6 事务处理隔离级别 255
14.7 事务处理命令和语法 258
14.8 事务处理的调试 264
14.9 事务处理代码的优化 265
14.10 小结 266
第15章 存储过程和触发器 267
15.1 存储过程的优点 268
15.2 内部步骤 268
15.3 创建存储过程 270
15.4 存储过程的执行 278
15.5 关于环境的考虑 279
15.6 参数 282
15.7 重要的自动变量 285
15.8 流控制语言 285
15.9 错误 287
15.10 嵌套 289
15.11 递归 289
15.12 自启动的存储过程 291
15.13 加密 291
15.14 触发器 291
15.15 存储过程的调试 295
15.16 小结 295
第16章 Transact-SQL性能协调 296
16.1 通用性能准则 296
16.2 数据库设计性能提示 297
16.3 索引性能提示 298
16.4 SELECT性能提示 300
16.5 INSERT性能提示 301
16.6 大量拷贝性能提示 302
16.7 DELETE和UPDATE性能提示 303
16.8 光标性能提示 303
16.9 存储过程性能提示 304
16.10 SARG 307
16.11 非标准化 321
16.12 查询优化器 335
16.13 索引协调向导 343
16.14 Profiler 345
16.15 性能监控器 345
16.16 小结 347
第17章 Transact-SQL的管理 348
17.1 GUI的管理 348
17.2 系统存储过程 349
17.3 Transact-SQL管理命令 350
17.4 系统管理函数 350
17.5 自动管理变量 351
17.6 常用的例程及其脚本 351
17.7 小结 403
第18章 全文搜索 404
18.1 全文谓词 405
18.2 行集函数 411
18.3 小结 414
第19章 OLE自动化 415
19.1 sp-exporttable 416
19.2 sp_importtable 419
19.3 sp_getSQLregistry 423
19.4 小结 425
第20章 未记载的Transact-SQL 426
20.1 未记载的定义 426
20.2 未记载的DBCC命令 427
20.3 未记载的函数和变量 438
20.4 未记载的跟踪标记 441
20.5 未记载的过程 442
20.6 小结 447
第21章 杂项 448
21.1 模糊函数 448
21.2 数据清除 457
21.3 迭代表 461
21.4 小结 462
译者序
如果想利用Microsoft SQL Server在Windows NT Server或其他操作系统上构筑开发环境,完成MIS系统、客户/服务器应用、Internet环境下的World Wide Web应用,那么本书绝对是一本适合你的(系统开发人员或系统维护人员)必备参考书。
Transact—SQL是结构化查询语言(SQL)的增强版本,与许多ANSI SQL标准兼容,并提供重要的附加功能。Transact—SQL代码已成为MicrosoftSQL Server的核心。
本书共21章,按照由浅入深的顺序,详细介绍Transact—SQL基本概念和主要应用。前3章介绍Transact—SQL最基本的操作、数据类型和遗漏值。从第4章开始深入介绍DLL、DML,其中详细讲解SELECT语句的使用,以及视图、统计函数、运行和顺序,并涉及到一些重要的概念,如集、层次、光标和事务处理等,并说明了它们的使用方法。第15章介绍存储过程和触发器,它是管理数据库、查询数据需要了解的重要方面。第16到第19章分别介绍Transact—SQL的一些高级应用,如Transact—SQL性能协调(tuning)、Transact—SQL的管理、全文搜索、OLE自动化等。第20章介绍未被记载的Transact—SQL有关内容和应用。最后的第21章介绍有关Transact—SQL零散的内容。
本书作为Transact—SQL的使用入门和进行深入研究的一本指南,适用于所有Transact—SQL的使用者,也适于数据库用户、开发员和数据库管理人员。刚接触SQL的用户也可以通过这本书学习Transact—SQL的相关特性,对于想了解以前未用过的功能的有经验的用户而言,本书也是一本有益的参考书。尤其值得一提的是,本书的作者在书中提供了许多存储过程和脚本,读者可以直接而方便地使用它们,来减轻日常的劳动。
在翻译过程中,我们力求完美,但由于译音水平所限,不妥之处在所难免,恳请读者批评指正。
前言
KenHenderson想要做的就是写一本适用于Transact—SQL实际编程的尽可能最好的书,他成功了。Ken在开始写这本书时,头脑中已经有了本书中的大多数构想。当为生活而工作时,人们希望学习许多东西,搞清它们工作的原因以及其他不工作的原因。如果你是个有心人,那么你可以把你所掌握的写成一本书,其他人就可以从你的知识中受益。对初学一门语言的人来说,让其在仅知道语法和一些规则的情况下,设计一个工程并编写复杂程序是很困难的。难道你可以仅用一本词典和小型语法书就能熟悉一个陌生的国家吗?
好的,现在我们对这本书有了一个目标。下一步就是如何写以便人们能够使用它。VictorHugo在写字台前用翎毛笔在条纹纸上写出了很多伟大的作品,而在Internet时代的写作则与那时有很大不同。如今,一本书可以在一周内出版印刷,作者可以找来一些人通过电子邮件来阅读该书,找出作者遗漏或出现错误的问题,以及校对人员或排版人员遗漏的标点符号。简而言之,可以以最快的速度进行工作。
最好用两种方式工作。写书时,可邀请一大批与其无所事事还不如作为你的义务研究人员的人来帮助你!
因为我在SQL标准和编程的专业技术方面有一点点的声望,所以我是他通过电子邮件邀请来查看原稿的人之一。整洁的材料和一些技巧是我未曾见过的!我们交换了意见,我正在窃取,不,研究我的下一本书。你知道,交流总是双向的。
我想你会发现此书是很容易理解的,且有许多好的想法和代码样本。虽然这是一本指定用于Transact—SQL的书,但你会发现其中的许多方法和技术可用于任何SQL产品。尽情享用吧!
序言
本书适合编码员使用。本书的目的是帮助开发人员利用Transact-SQL创建应用程序,而不是介绍数据库的管理和设计。书中没有介绍终极用户和GUI应用程序的开发,也没有介绍服务器和数据库性能的调试。本书是关于开发代码的,目的是为应用程序开发出最好的Transact-SQL代码。
当我开始写这本书时,我是这样构想的:
大量引入代码样本--不仅告诉读者如何使用Transact-SQL,而且出示代码样本。
每章都包括了完整的代码样本,所以可以在没有计算机和光驱的情况下学习本书。
使用现代编码技术,其中带有着重于ANSI兼容性的细节和当前版本及增强版的特性。
每章内容相互独立--尽可能地不依赖在其他章节中创建的对象。
提供了真实的代码样本,它们脱离本书仍然有本身的价值。
避免重复已经在SQL Server在线书籍中大量提及的内容。
强调Transact-SQL与其他SQL语言不同的方面,而不只是写一本ANSI SQL的书。
避免过多的快照和在计算机书籍中常见的其他类型的填充版面的东西。
每章都由简单到复杂,并贯穿于全书。
提供轻松自由的注释,并不强调形式。注释将成为读者的良师。尽量用谈话的方式与读者交流。
这些目标是否兑现,以及兑现的程度如何,我想读者会有自己的衡量标准,我希望我的努力没有白费。
关于样本数据库
本书大量使用了SQL Server提供的Nothwind和pubs样本数据库。读者可以从周围的注释或者是代码本身来确定某个特定示例所使用的数据库。pubs数据库比Northwind数据库更经常使用,所以如果没有另外指定或不能确定时,那么使用的就是pubs数据库。
通常是在事务中修改这些数据库,这样就可以回滚这些修改;然而,出于安全考虑,应该在数据库被修改的章节后,删除数据库然后再重新创建它。重新创建数据库的脚本(instnwnd.sq1和instpubs.sql)在SQL Server的根目录的\Install子目录下。
精简结果
我对计算机书籍很憎恨的原因就是,有些书无耻地使用占用空间的办法来增加书的厚度--这是计算机出版业的黑暗的小秘密。现在有些技术书籍中到处是快照、表、图、提纲、工具条、图标、艺术条等。更有些人认为书越厚越好,有许多作者和出版商都非常高兴地来迎合他们。他们似乎沿用了一句老话的字面意思--"一幅图顶一千个字",结果有时他们出版的书就像画册一样。
在本书中,我将公平地处理详尽度和空间效率之间的关系。我经常地截断或修剪查询结果集,尤其是那些对于页面来说过宽的或是过长的结果集(改动的部分我会指明)。有时我也会用缩小字体的办法来列出结果。我没有使用快照,除非它会对即将进行的讨论有非常大的用处(书中只有一章包含了快照)。这样做是为了与我所设定的目标(完整却不过度)保持一致。书中有近600段SQL脚本出现在被提及的章节中。希望所有的删节都不会损害本书整体的实用性和价值。
. 关于形式
我所憎恨的另一件事就是为了形式而搞的形式。一位艺术家曾说过"画一条曲线要比画条直线更难",他的意思就是说,从某种意义上讲,把没有明确严格标准的事情做好要比把有清楚规则和固定先例的事情做好更难。画条直线要做的就只是找把直尺。那些关于作品的规则,特别是那些学术种类的规则,使得写书变得容易了,因为这些规则将写作的许多主观特性变得更客观了。这些规则会影响那些准作者的发展方向。于是,写作就由一个创造性的过程变成了机械的过程,按照这些规则,书就已经完成一半了,显然,这样就减少了作者进行创造性写作的决心。这样也会使其他一些好的作品变成了乏味的、课本式的论文,它们橡电话号码簿的白页一样无趣。
所以,我不认为正规的作品就是好的作品,这种想法是一个更高的标准,是所有技术型作家应该努力的目标。我属于Mark Twain的思想学派--"避免剩余物",我相信采取这种思想,通常谈话的方式就不会完全落入俗套(我坦率地承认这是个主观的区别),技术型作家最终的目标就是以与读者谈话的方式来写作。这是人们--尤其是技术人员最熟悉的交流方式,也是人们学习和共享思想的方式。这种思想的方法不是我发明的,而是许多我所欣赏的作家写作方法,他们是MarkTwain、DeanKoontz、JoeCelko、ErnestHemingway、Robert Heinlein、AndrewMiller、OscarWilde、 P.J.O'Rourke、PatrciaO'Connor。尽管这种方法很难构造,也很难自然地写出易读的故事来,但是如果作家试图表达的思想能像他们被发明一样被理解,那么还是很值得努力的。
作者简介
KenHenderson是数据库鉴赏家,居住在Dallas,与妻子、四个孩子和一条狗生活在一起。他把工作之外的时间,大部分都花在关心他的孩子成长上。与Henderson联系的email是:khen@khen.com.
1