爱可生开源社区定期以抽奖或者其他活动方式送出精心挑选的图书,以此来回馈一直支持我们的小伙伴们。关于异步社区
介绍本月的好书之前,再三感谢 人民邮电出版社 异步社区 友情图书赞助!
是数据。因为无论是商业决策、效能提升、用户洞察,还是业务创新,都要围绕数据进行分析并付诸行动。因此,对于 IT 从业者来说,能够使用 SQL 操作和分析数据就是一项必备技能。有人可能会提出疑问:SQL 不应该只是开发人员和 DBA 才用得上吗?还真不是这样,在数据驱动的企业活动中,只有每个角色都能理解并学会正确地使用数据,才能推动业务快速发展。如能掌握SQL,数据分析师处理数据会更加高效,运维人员可以更快速地响应业务增长变化,运营人员可以更精准地触达用户。SQL 全称是结构化查询语言(Structured Query Language),它是与数据库交互的标准接口,在所有关系型数据库以及大多数大数据系统中都得到支持。这意味着不用关心底层数据存储的差异,只要会 SQL,就能按需求实现对数据的检索。SQL 学起来会不会很难?其实找对好老师,从零基础到高手也不是难事。《SQL实践教程(第10版)》就是这样一位好老师,把理论讲得简单易懂,给出的案例典型而详细,IT 人赶紧学起来吧。
市面上讲 SQL 技术的书一搜一大堆,为什么这本《SQL实践教程(第10版)》却可以出到第 10 版?因为本书的着眼点不是某一款数据库产品的 SQL 操作说明,而是最大化地提炼共性,讲透了标准 SQL 的用法。看懂了这本书,只要支持 SQL 的数据库都能立即上手操作。同时本书的内容也简单易懂,小白拿到手上也能很快入门学会。以真实数据库案例贯穿全书讲解 SQL 用法,是书名中“实践”二字的体现。但不要以为仅止于此,书中对数据库设计与管理等理论知识也进行了详细的讲解,进阶 SQL 高手也不是问题。所以这本书从第1版出版到现在历经30年,并且不断根据技术发展更新内容出新版,已经成为 SQL 领域的经典畅销书。《SQL实践教程(第10版)》的英文原版A Guide to SQL 10TH EDITION
创造这本书的大神都是什么人物?让我们来了解一下:
▮ 马克·谢尔曼(Mark Shellman)是加斯顿学院信息技术系的资深教授,讲授信息技术超过 30 年。他最擅长的领域包括数据库与编程语言。▮ 哈桑·哈夫尤尼(Hassan Afyouni)是数据库专家、Oracle 技术专家、企业架构师、技术咨询师、教育家,担任加拿大、美国和黎巴嫩的几所学院和大学的教师。他从事信息技术工作超过 30 年。▮ 菲利普·J·普拉特(Philip J. Pratt)是美国大峡谷州立大学数学和计算机科学系的荣誉教授,他的教学研究领域包括数据库管理、系统分析、复变分析和离散数学。他教学 30 多年,编著了超过 70 本教学书,也是《SQL 实践教程》最初几个版本的共同作者。▮ 玛丽·Z·拉斯特(Mary Z. Last) 从 1984 年以来一直从事计算机信息系统的教学工作,她在玛丽哈丁贝勒大学任教,从1992 年以来就是Shelly Cashman系列图书中贡献巨大的作者之一。她还是很多前沿数据库教科书的作者。
这4位大神加起来超过 120 年的经验值是本书权威与质量的保证,拿到这样一本书,要想学好 SQL 真的不叫事儿了。
学习 SQL 之前一定要先啃完《数据库系统概论》这样的理论书吗?其实不必,《SQL实践教程(第10版)》已经从零开始安排了基础理论知识,学习者只要跟随教程走好三步,就能实现从入门到精通。
第一步要学习的知识是数据库的基本概念与术语,首先要了解实体(entity)、属性 (attribute)、联系 (relationship)的概念。然后知道关系型数据库是表的集合,理解功能依赖关系并能识别一个列在功能上依赖于另一列。了解主键的概念,并能够识别表中的主键。书中讲述了规范化的要求,并详细讲解了第一范式、第二范式、第三范式的概念,要学会将表在三种范式之间转换。最后是学会绘制实体-联系(Entity-Relationship,E-R)图,表达数据库的设计意图。到这一步就进入了上机实操环节,也是本书篇幅最大,需要学习者投入时间最多的部分。对于数据库表的基本操作,业界以“CRUD”概括,我们就来看下具体的说明。
▮ 创建数据库和表:学会使用CREATE DATABASE创建并激活库,使用CREATE TABLE在库中建表,确认和使用数据类型来定义表中的列。使用INSERT指令向表中添加行;
▮ 查询:SELECT指令是 SQL 最重要的部分,书中分为两大部分。一是单表查询,要学会使用简单条件与复合条件,以及排序、聚合、分组等方法。二是多表查询,要学会使用连接从多表提取数据,在子查询中使用子查询,会执行集合操作,以及内部连接、外部连接和乘积等;▮ 更新数据:使用UPDATE指令修改数据,使用DELETE删除数据,会用ALTER TABLE修改表结构。理解事务的概念,使用COMMIT和ROLLBACK指令使数据更新永久化或撤销更新。
创建 SALES_REP 表的 CREATETABLE 指令最后一步是学习者提升与进阶的部分。首先在数据库管理方面要理解视图,并认识到它的优点,学会创建与删除视图、使用视图更新数据。了解数据库用户权限管理,能够授予或撤销权限。索引是数据库的一个重要特性,要充分了解其用途与优缺点,并学会创建、使用、删除索引。要想挖掘 SQL 更强大的功能,就要使用过程化语言(procedural language)来操作 SQL。而这些由过程化语言写的代码,可以保存在数据库中成为存储过程(stored procedure)。书中分别讲解了 MySQL、Oracle PL/SQL、SQL Server T-SQL 创建存储过程的示例。另外,本书还介绍了 SQL 中的一些常用函数,包括字符函数、数值函数,以及日期函数。最后展示了触发器(trigger)的使用方法。在 MySQL 中创建存储过程
三步走完,不仅各种数据库可以轻松上手,处理复杂的任务也可以游刃有余了。
学习技术,最高效的办法就是在真实业务上一边练习一边上手。《SQL实践教程(第10版)》就是从两家真实的公司提取业务数据,作为本书的案例数据库。这两家公司分别是做宠物食品用品的供应商 KimTay Pet Supplies,以及做学生住宿租赁管理业务的 StayWell Student Accommodation 公司。在书中,这两个库分别称为 KimTay 和 StayWell,它们贯穿了本书所有 SQL 的技术讨论与应用示例。KimTay 的样本数据
通过对真实业务数据进行分析处理,学习者立即就能将 SQL 技术与实际工作联系起来。这也要求学习者一定要动手实践每条指令,不能觉得看懂了就跳过去。想测试一下自己是不是真的都掌握了,那就把每章末尾的复习题、关键思考题、案例练习都认真做一遍。如果发现概念模糊,解题困难,那就要回头温习,直至吃透原理,不论需求如何变化,也能迎刃而解。总之,实践 SQL 并不是照着书把示例代码敲一遍就完事,还需要勤于思考,善于总结,做到举一反三,这样才能够真正解决实际工作中的问题。对于正在琢磨如何在工作中用 SQL 的 IT 从业者来说,《SQL实践教程(第10版)》是最好的入门老师;对于有一定 SQL 使用经验的人来说,本书是查漏补缺的好帮手。只要是工作中涉及 SQL 技术的人群,都能从这本书中大有收获。▮ 简单易懂:以简洁明了的语言讲解原理知识,小白也能看懂;
▮ 实际案例驱动:以真实公司业务数据作为案例,技术讲解贴合实际问题;
▮ 覆盖多个数据库产品:以 MySQL 为主,同时会说明在 Oracle 与 Microsoft SQL Server 上执行 SQL 的区别;
▮ 高阶知识与技巧:深入介绍了数据库管理方面的高阶知识与技巧,助力有志者成为技术专家;
▮ 全彩印刷:阅读体验更佳,重点、难点标识清楚,不会错过关键处。
在这数据驱动的时代,能玩转数据就能有自己的一席之地,要自如地操控数据,学会 SQL 就是第一步。看明白了这一点,IT 从业者还等什么,赶紧拿起本书学会 SQL 吧。