序
Foreword
在我考虑为此书作序时,“master(vt.精通n.大师)”一词在我还未起草就浮现在我的脑海里。作为及物动词,“精通”表示获得某项技术的详尽知识并能熟练使用它。作为名称,“大师”是一个有许多微妙解释的丰富词汇。在本书的上下文中,它有两种解释:一种是技艺高超的大师,一种是可以教书育人的老师。当打开本书的草稿时,我吃惊地发现,本书的第1章就开始讨论如何“精通”SQL程序设计的基本原理。
SQL语言极为友好。你在几分钟内向人们演示一下SQL的基础知识,就可以使他们能够浏览一个数据库。SQL入门容易精通难。熟练掌握SQL需要花费一些时间,但回报非常丰厚。利用SQL语句可以用多种方法完成同一个任务。在刚开始学习SQL时,很多人写的查询解决方案都非常别扭而且低效。而精通SQL却可以创建出既简单又优雅的解决方案,看起来也赏心悦目。这本书到处都是这种既简单又优雅的解决方案,它们可以帮助你精通SQL。
在生活中,我们会遇到两类老师,一类是通过他们的工作与人分享他们所精通的技能,另一类是通过教书育人来传递和分享知识。本书的读者有幸成为SQL语言及其Microsoft SQL Server实现的大师们的学生。Itzik Ben-Gan是本书的主要作者,他是一位SQL语言专家。作为一名公认的专家,Itzik是属于重新定义媒介的那类人。当看到Itzik完成的解决方案时,我总是很受震撼,感慨“没想到竟可以这样实现!”Lubor Kollar是Microsoft SQL Server开发团队的Program Manager,是解决客户问题的专家。我有时也是他的客户。很多次我走进Lubor的办公室向他请教用SQL解决问题的方法时,Lubor会在几分钟后通过E-mail发给我解决方案,然后我把它保存到我的笔记本电脑中以备日后的会议使用。Dejan Sarka是一位知名的SQL Server MVP,是关系领域的权威,也是SQL Server 2005 BI、XML和CLR集成方面的专家。Dejan对该书的主要贡献是引导读者确定什么时候应该在他们的解决方案中使用XML或CLR集成。
《Microsoft SQL Server 2005技术内幕:T-SQL查询》把SQL语言的逻辑构造和它们在Microsoft SQL Server的物理实现分开讨论。就像学习数学一样,理解SQL的逻辑构造是进一步探索的坚实基础。第2章和第3章探讨物理查询处理,即,Microsoft SQL Server如何把逻辑查询转换为可以高效返回结果的可执行的查询计划。人们更乐意完全独立地理解逻辑和物理概念。有许多方式可以逻辑地描述一个查询,但其中一些方式比另一些方式更容易由SQL Server查询优化器转换为高效的计划。第4章到第8章是精通SQL查询的基础。在这几章中,你将学习用几行SQL查询文本来完成某些任务,而许多会用但并不精通SQL语言的人却要兴师动众地使用游标、临时表,更糟的是使用程序逻辑。为此,你需要学习如何通过SQL查询提出问题并让SQL Server提供答案,而不是自己写代码来答复。你会发现这些章节包含了大量的实际示例及多种可选择的实现,并解释了什么时候应该选择哪种实现。最后,第9章是属于大师的领域。许多不精通SQL或关系模型的人都认为在关系世界中无法表示图结构。尽管这显然不正确,但还是很少有对这一主题的全面介绍。最后一章描述了如何通过图和树的内在关系去建模。作者在这一章用常见的数据模型表示图和树的结构,并描述了处理这些结构的许多方法,其中应用了一些在SQL Server 2005中的新特性。
严格来讲,《Microsoft SQL Server 2005技术内幕:T-SQL查询》不是一本处方书(recipe book)。也不是用于从中把20来行T-SQL代码复制并粘贴到自己程序的书。尽管它包含明确的解决方案和示例,《Microsoft SQL Server 2005技术内幕:T-SQL查询》是一本学习如何编写SQL程序的书。通过阅读本书,你将学会用SQL语言完成你原本认为不可能完成的任务。如果今后遇到SQL方面的挑战,而它又需要用到本书所提到的方法,你会发现你完全可以自己搞定。无论你是一位SQL语言和Microsoft SQL Server的新手,还是对它们的理解已经达到一定程度,或者正在成为一位SQL专家,我相信这本书都将会进一步提高你的技能。
Microsoft SQL Server是一个工具和平台。该产品开发团队中的每一个人都为能参与发布这样一个伟大的产品而感到无比自豪。人们只有使用SQL Server做出了成绩才会意识到它的直接价值,就像木匠使用一个工具完成一件精美的家具。作为一名熟练的木匠,他需要知道这些方法和技术的基本原理,有敏锐的设计感,了解手上的工具。工匠熟悉他们的工具,知道如何以及什么时候使用它们,以及如何修理它们。《Microsoft SQL Server 2005技术内幕:查询》将向你展示SQL语言的基本原理。阅读本书,你将从大师们那里学到如何设计优雅的SQL解决方案,并了解Microsoft SQL Server作为一个工具在用简单优雅的方法实现解决方案时所独有的一些特性。
David Campbell
General Manager, Microsoft SQL Server: Strategy、Infrastructure和 Architecture
| 回书目 下一节 |
|
· 第六章 你能帮我吗?.. · Linux笔试面试题选摘测.. · 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. |
· 08年5月各大网上书店及.. · 2008年5月24日软考试题.. · 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. |
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||