前 言
正如我曾说过的,写书的经历奇特而漫长。早在1999年,当我首次编写Professional SQL Server 7.0 Programming一书时,无论是书籍还是程序开发环境都与今天的情况截然不同。那时,.NET尚未出现,Visual Studio 98是当时最流行的开发环境,Java开发环境正被广泛使用,而像Delphi这样可供选择的开发工具也比现在更具竞争力。现在正快速进入所谓的.com时代,数据库管理系统(DBMS,如SQL Server)的使用也在呈指数增长。
然而,却存在一个问题。虽然我们可以找到一些有关SQL Server的书籍,但这些书籍都面向数据库管理员。这些书籍的作者将大量的时间和精力花费在了普通开发人员几乎不关注的内容上。事实上,对于一些无能为力的事情,我们必须放弃。就像迫切需要解决的全球饥饿或核扩散问题,因为我们根本无力解决,但我们完全能够编写一些面向开发人员的有关SQL的新书籍。
当时我写了Professional SQL Server 7.0 Programming一书,内容可谓包罗万象,从基础内容到高级内容,适合于各类读者。但其造就的结果就是书特别的厚。
第一本书SQL Server 2005发行后,我们计划重新编写SQL Server的第二次修订版本,但再次碰到了一个问题:有关高级编程的内容实在是太多了,以至于无法用一本书来涵盖全部内容。SQL Server 2005的新增内容也很多,要全放在一本书中介绍实属不易(几乎走出了一本书的范围),因此我们决定将原来的“高级编程”系列丛书分成“入门经典”和“高级编程”篇。尽管我们花了大量精力去进行拆分,但仍有不少内容重叠。SQL Server 2008又增加了一些新功能,不过这样一来,我们可以使得“高级编程”篇面向高级读者,而“入门经典”篇内容也更加丰富。
本书尽可能覆盖了SQL Server的主要内容,我们也希望它能与先前编写的Professional SQL Server 7.0 Programming一书一样成功。在学习完“入门经典”篇后,如果您希望自己成为一名高级的SQL Server 2005编程人员,那么可以继续学习本套书的“高级编程”篇。
0.1 本书读者对象
本书书名中的“入门”一词容易引起误解。本书的确非常适合初学者,但它也适合您入门之后的进一步学习。其内容是初学者所必须了解的,但由于其内容繁多,读者不可能全部记牢,因此您可在需要时回顾并参考相关内容,这对于中、高级用户来说也同样适用。
初学者一般希望从头开始学习。而本书主要内容都是按“需要掌握”哪类知识来编排的。除了第16章、第17章和第18章之外,本书的每一章都是易于理解的基本内容,这样读者在遇到SQL Server问题时,可很容易地找到相关内容来学习。
对于中级用户,可以跳过本书的前7章或前8章。但我们仍建议浏览这几章,以弥补这方面知识的漏洞。也可以先浏览一下这几章,然后快速跳过熟悉的内容,去阅读不了解的内容。
高级用户除了可利用本书作为很好的参考资料之外,可能会希望学习第12章以及后面的章节。事实上,第12章以后的内容更加新颖(如新的调试、事务、XML、Reporting Services、Integration Services内容等)。
0.2 本书内容简介
从本书书名可以看出,本书涵盖的SQL Server 2008的内容是明确地面向开发人员的。
SQL Server 2008是发展近20年的数据库管理系统的最新版本。它是在对SQL Server 7.0版本重新设计的基础上建立的——提供了单独的日期和时间数据类型,以及地理空间支持。本书着重解决各层次开发人员的核心编程需求。另外,本书主要围绕SQL Server 2008版本讲解,但也会涉及向后兼容性的问题,因为这可能影响设计或编码选择。
0.3 本书内容安排
本书内容按照从基本到高级的顺序安排,同时假定您已经是富有经验的开发人员(除了数据库方面)。要学习本书,您必须具有编程的基本知识,如变量、数据类型以及过程化编程。当然,您不必学过查询。
本书尤其适合于开发人员使用。为了简洁起见,本书会掩盖或完全忽略那些面向数据库管理员而非开发人员的内容。当然本书也涉及数据库管理的问题,因为这些问题在开发过程中需要考虑到,本书将在第19章对几个数据库管理相关的问题作简单的介绍。
在客户端开发方面,本书尽量做到与语言无关。通常忽略所使用的语言,如VB、C#、C++、Java,以及其他语言(本书侧重于服务器端的开发),而在涉及时也对不同语言一视同仁。
在学习顺序方面,首先学习SQL基本对象,然后是基本的查询和连接知识。接着学习数据库的其他对象,并讨论与数据库物理设计有关的内容。再然后学习如何编写更健壮的SQL Server脚本代码、存储过程、用户自定义函数与触发器。再进一步学习一些SQL Server的外围功能。本书最后要学习的是数据库管理方面的重要内容,有助于维护用户开发的数据库。
0.4 使用本书的条件
使用本书需要安装SQL Server。由于本书大量使用各种SQL Server 2008管理工具,因此我推荐安装包含所有模块功能的SQL Server版本,而不是SQL Server Express。虽说如此,本书还是侧重于介绍脚本编写,因此即使是SQL Server Express用户,也能学习本书的大部分内容。还需要AdventureWorks2008样本数据库,以及安装一些自定义数据库。访问这些数据库的指令参见本书配套网站(www.wrox.com)上的ReadMe文件。
虽然Visual Studio对于学习本书也很有用,但是大部分所需的Visual Studio特性都包括在SQL Server产品附带的Business Intelligence Studio中。
0.5 源代码
在读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点http://www.wrox.com/或www.tupwk.com.cn/downpage上下载。登录到站点http://www.wrox.com/,使用Search工具或使用书名列表就可以找到本书。接着单击本书细目页面上的Download Code链接,就可以获得所有的源代码。
注释:
由于许多图书的标题都很类似,因此按ISBN搜索是最简单的,本书英文版的ISBN是978-0-470-25701-2。
在下载了代码后,只需用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入http://www.wrox.com/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。
0.6 勘误表
尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。
请给wkservice@vip.163.com发电子邮件,我们就会检查您的反馈信息,如果是正确的,我们将在本书的后续版本中采用。
要在网站上找到本书英文版的勘误表,可以登录http://www.wrox.com,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是www.wrox.com/misc-pages/booklist.shtml。
0.7 P2P.WROX.COM
要与作者和同行讨论,请加入p2p.wrox.com上的P2P论坛。这个论坛是一个基于Web的系统,便于您张贴与Wrox图书相关的消息和相关技术,与其他读者和技术用户交流心得。该论坛提供了订阅功能,当论坛上有新的消息时,它可以给您传送感兴趣的论题。Wrox作者、编辑和其他业界专家和读者都会到这个论坛上来探讨问题。
在http://p2p.wrox.com上,有许多不同的论坛,它们不仅有助于阅读本书,还有助于开发自己的应用程序。要加入论坛,可以遵循下面的步骤:
(1) 进入p2p.wrox.com,单击Register链接。
(2) 阅读使用协议,并单击Agree按扭。
(3) 填写加入该论坛所需要的信息和自己希望提供的其他信息,单击Submit按扭。
(4) 您会收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。
注释:
不加入P2P也可以阅读论坛上的消息,但要张贴自己的消息,就必须加入该论坛。
加入论坛后,就可以张贴新消息,响应其他用户张贴的消息。可以随时在Web上阅读消息。如果要让该网站给自己发送特定论坛中的消息,可以单击论坛列表中该论坛名旁边的Subscribe to this Forum图标。
关于使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作情况以及P2P和Wrox图书的许多常见问题。要阅读FAQ,可以在任意P2P页面上单击FAQ链接。
