SQL 学习基础及教材推荐
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库相关的图书(包括各种图书、文档、手册,在此都以图书代称;并且这里只包含纯数据库方面的内容,不涉及前端开发、商业智能等相关内容),大体上可以分为ABC三类:(每本图书之后的大括号中是我个人给出的一个推荐指数(R)和难度指数(D),分值为1-5;如{R5D3}表示强烈推荐,难度中等,{未知}表示这本书没看过。主观评价,仅供参考。)
A. 基础理论(fundamental theory)
A部分是数据库相关的基础理论,独立于各种DBMS的实现。
A1 基础原理
- 《数据库系统概念(第5版)》{R5D3}:这本书基本涵盖了数据库领域方方面面的问题,必读。
A2 理论深入
- 《离散数学及其应用(第5版)》{R4D3}:离散数学是与数据库理论关系最紧密的数学基础。特别是集合论、数理逻辑、关系几块内容,对于直观地理解数据模型和严谨地编写查询语句非常有用;图论部分对于用数据库实现类似数据模型(如树形结构、网状结构)也是必需的知识。
- 《深度探索关系数据库》{R3D5}:C.J.Date对关系理论的深入剖析,有助于提升对关系模型的理解层次。
A3 相关知识
这里是一些与数据库相关的其它计算机基础,想要深入技术值得去了解。但每块内容都是一个很大的领域,给出的难度指数仅指初步了解的难度;相关经典书目很多,不再开列。
- 数据结构{R3D4}:增加对排序、查找、B+树索引和Hash索引的理解。
- 操作系统{R3D4}:数据库系统是运行于操作系统之上的子系统。用好数据库也需要增加对存储管理、文件系统、权限控制的理解。
- 计算机网络{R3D3}:如今多数的数据库系统都是基于网络的。
- 计算机安全{R3D3}:包括操作系统安全、网络安全和数据库安全,整个系统的安全取决于最弱的一环。
- 编译原理{R3D5}:有助于理解SQL的语法解析过程。
B. 技术实践(technical practice)
B部分是针对某一个DBMS的技术实践。在此以SQL Server为例,其它平台的图书也可以有类似分类。
B1 技术入门(tutorial)
技术入门的书都大同小异,只要内容完整、条理清楚、自己看着顺眼即可。
- 《SQL Server 2005数据库管理与应用高手修炼指南》{R4D2}:这本书讲的是SQL Server 的使用和T-SQL的开发,偏重DB Developer的角度。
- 《SQL Server 2005管理员必备指南》{R4D3}:这本书讲的是SQL Server的安装、配置和管理,偏重DBA的角度。这本书的2008版也出了。
- 《SQL Server 2008基础教程》{未知}
- 《SQL必知必会(第3版)》{R4D2}:这本书是SQL语言入门,较为独立于各种DBMS上的SQL方言。
B2 技术参考(reference)
- SQL Server联机丛书{R5D?}:这是SQL Server开发者的必备资料。
B3 技术原理(inside principle)
这是成为技术高手的必经之路。还是那句话:深入理解原理,一切表面问题都是浮云。
- 《SQL Server 2005技术内幕》系列4本(前两本{R5D4} 后两本{R5D5}):Inside SQL Server 系列是关于SQL Server技术原理的经典图书,不必多说。
- 《SQL Server 2008技术内幕》系列(截至20100818尚未出完){未知}
C. 经验素养(expertness)
C部分是关于数据库程序员的实践经验和综合素养。
C1 技术专题(subjects)
如何设计一个稳定、高效、安全、方便管理、可扩展的数据库系统,需要对数据库基础原理和DBMS实现机制有充分了解,还需要丰富的实战经验。以下几本书与此有关。
- 《数据库设计教程》{R4D3}
- 《SQL Server 2005性能调校》{R5D5}
- 《SQL Server 2005数据库服务器架构设计》{R5D5}
C2 心得技巧(tips)
以下是人们总结的关于数据库设计和SQL使用的一些心得技巧,可作锦上添花之用。
- 《SQL编程风格》{R4D4}
- 《SQL语言艺术》{R4D4}
- 《SQL Cookbook》{R3D4}
- 《SQL Hacks》{R3D4}
- 《SQL解惑(第2版)》{R3D4}
C3 综合经验(art/tao)
以下是关于程序员的经合经验,不限数据库领域。
- 《程序员修炼之道》{R5D?}:英文书名原意为“务实的程序员”,中文翻译成了“道”,但不为过。这是每个程序员都值得一看的书,被评为编程首要原则之一的DRY原则便出自此书,另一个KISS原则出自Unix编程艺术(这两本书相互引用,甚是有趣)。数据库设计的三范式可视为DRY原则的体现,而关系模型胜过层面模型和网状模型之处也在于关系模型在KISS原则上的优势。
- 《编程珠玑(第2版)》{R4D?}
- 《代码大全(第2版)》{R4D?}
以上ABC三部分的划分,本质上是数据库相关知识范围的划分。有些书可能会包含各部分的内容,目前这种排布只是根据其侧重作出的粗略归类。
关于推荐指数(R)和难度指数(D)的说明
推荐指数:R5是强烈推荐,是搞数据库的人的必读书;R4是比较推荐,是值得一看的书;R3是一般介绍,如有机会(毕竟找书和看书都需要成本)可以一看,必定会有收获;R2和R1没有,不值得引见的书就不会在此开列了。然而各人的技术基础和学习目标不同,对书的需求就会不同,众口难调,不再细分。
难度指数:D1没有,学技术总归需要花些精力;D2和D3是入门级,零基础即可看懂;D4是稍难,最好有一定基础再看;D5是很难,要做好思想准备。D?表示难度无法评判,有的内容一看就懂,有的内容需要仔细思考钻研才能明白,有的内容则要有一定的基础和经验才能领悟。