New Book:锋利的SQL

来源:互联网 发布:邮箱密正数据下载 编辑:程序博客网 时间:2024/04/27 13:59

2009年初开始动笔到最终定稿,这本书的编写花费了我一年多的时间,大大超出了先前预期的计划。当时,书刚刚开了个头,我便被安排参加了单位的一个流程优化项目,其中包含5个新系统的开发和1个旧系统的改造。同时,我自己还主持着一个管理信息系统的开发工作。项目目标定义、业务需求分析、系统架构设计,环环相扣,整天忙的不可开交,写作成了真正忙里偷闲的事。

当系统一个个瓜熟蒂落,能够自己支配的时间才稍微充裕了一些,这本书的写作才算步入正轨。好在我写作只是自己的一种业余爱好,没有其他方面的压力,唯一的目的就是希望能够创作一些精品图书。交稿日期虽然一拖再拖,但是我一直在告诫自己,只要编辑还能够忍受我这种“言不守信”的恶劣行径,我就必须尽自己最大努力,精益求精地去完成每个后续章节的编写工作。在这方面,我非常感谢本书的编辑杜洁女士,她总能每次宽容地接受我的延迟交稿要求,并给予我热情的鼓励,才促使我最终完成了本书。

本书特点

这是一本引领你进入SQL查询殿堂的图书,既有对普通SQL技术的介绍,也有对SQL新技术的深入讨论,更包含一些实用的查询方案演练。之所以要写作这样一本图书,主要出于两方面的原因:一是伴随着各种数据库技术日新月异的发展,无论是哪种数据库产品,用一本书去描述它的全貌,几乎是不可能的,那样做只能是止渴饮鸩。所以我就想能否抽取出各种数据库产品中一些共同的东西,进行深入的介绍,而SQL无疑是这方面的首选。二是在与一些开发公司的合作中,发现公司间的SQL应用情况也差异很大,一些公司出于产品的可移植性考虑,拒绝使用一些新的SQL技术,甚至尽量避免在服务器上部署存储过程。所以,我希望在深入地讨论一些常用SQL技术的同时,也尽可能多地介绍一些SQL的新技术,从而解除大家对新技术的恐惧感,对新技术的推广能够起到一定的推波助澜作用。

本书在对SQL介绍时,是在SQL Server数据库产品上进行的。不过,无论是哪种数据库产品的SQL,由于大家都在遵循ANSI-SQL标准,所以差别并不大。数据库开发人员在跨越不同的数据库产品时,一般不会遇到什么障碍。

本书在介绍各种查询语法时,我们更注重对查询逻辑思维方式的引导和介绍。只有这样,读者在阅读本书之后,才可以举一反三,切实增强自己动手解决问题的能力。

本书适用读者

本书是按照由浅入深、循序渐进方式对SQL进行介绍的,既包含又入门知识,也包含有对深层次技术的讨论。即使是最基本的查询语句,我们也会尽力为读者提供解决深层次问题的能力。也就是说,同样一个问题,你可以写几十甚至上百行的SQL语句来解决问题,也有可能仅通过一条SELECT语句就可以解决问题。作为SQL而言,虽然代码最简化并不一定是性能最优化,但至少是对思维能力的一种提升。

从这个角度而言,本书可以作为你的SQL入门书籍,也可以作为SQL程序员和分析师的参考书籍。

本书内容与结构

本书共19章,可大致分为基础篇、编程篇、性能调教篇和实战演练篇,共四部分。

基础篇包括第1章至第10章。其中,第1章是对查询工具、书写规范等基本内容的介绍,第2章至第5章是对数据库、表和索引的介绍,第5章到第10章则介绍了使用SELECT进行数据查询和使用INSERTUPDATEDELETE进行数据修改的各个方面。

编程篇包括第11章至第15章。如果将SELECTINSERTUPDATEDELETE作为基本查询语句,则IF...ELSEWHILE、和TRY...CATCH构造等则可以看作是SQL编程语句。在存储过程、触发器等对象中可以通过这些语句实现一些复杂的逻辑处理。如果你曾经是一个使用VBVC程序员,在学习C/SB/S编程的时候,你应当掌握这种服务器端的编程工具,从而将业务逻辑计算合理地分布到服务器和客户端。

性能调教篇包括第16章至第18章。第16章和第17章介绍的是事务处理机制和并发访问控制。其实,无论是微软、还是OracleIBM,其数据库产品的核心功能都是一样的,即在保证数据完整性的前提下提供最大的并发支持。数据库系统是通过“锁机制”来实现的,数据库引擎都提供有多种粒度的锁定模式,从而允许用户可以根据需要将资源锁定在适当的级别,尽量减少锁定开销。第18章则是讨论了查询优化器的工作原理,重用查询计划,可以减少额外的编译开销,提高服务器性能。

实战演练篇仅包含第19章的内容,提供了同一时间范围内并发数统计、时间段天数统计、数字范围统计、地域范围内最大数统计等较为常用问题的解决方案。

本书声明

本书实例中使用的操作系统是Windows 7使用的数据库是SQL Server 2008开发者版本开发工具是Visual Studio 2008

作者

20105

 

原创粉丝点击