书评
为了谁
本书适用于使用数据库服务器的应用程序的开发人员。
Dimitri Fontaine。 在应用程序开发中掌握PostgreSQL(Kindle位置66–67)。 Kindle版。
“在应用程序开发中精通PostgreSQL”对于处理PostgreSQL关系数据库管理系统的开发人员来说最有价值。
- 简要书评:勇敢的新世界
- 下一代问答:Ilan Wurman:反对生存的债务:原始主义概论
- “在茶馆咖啡厅:中古王国随笔”
- 星球大战:失落的星星-不幸的YA-ness拖累了一个很棒的星球大战故事
- 我的最新读物和所学到的内容-“想要的任何东西” Derek Sivers
如何阅读
这本书要求您遵循并阅读许多PostgreSQL文档的链接。 要阅读本书,您必须熟悉链接中提到的主题。
内容应按顺序阅读,因为后面的章节引用了前面章节的内容。 此外,本书还包含许多指向外部文章,库和Wiki页面中其他材料的链接。
关于这本书的事实
本书中有很多代码示例。 它有257个SQL示例,5个python代码示例,1个Java示例(共3个片段),1个Go lang示例(共2个片段)和2个Lisp代码示例。
很少会发现格式化后的代码示例不够整洁。 有时您会遇到错字。
由于代码示例会分成几列,因此几乎不可能从本书的PDF版本中复制SQL的代码示例(在Mac OS上使用“预览”应用程序尝试过)。 SQL代码示例有时会因分页符而中断,这使得复制和粘贴更加困难。 从Kindle复制和粘贴也有问题。 您复制和粘贴的任何示例都将变成单行替换很多空格字符的换行符(在Mac OS Kindle 1.25.2版中进行了尝试)。
该书涉及非规范化数据类型的主题:数组,jsonb和json作为前身,枚举,xml和复合类型,以及如何使用它们。 数据类型一章还解释了PostgreSQL范围类型的唯一性,以及PostgreSQL为什么没有无符号数字数据类型的原因。
规范化和非规范化主题也是本书的一部分。 数据库“实际用例:地名”一章包含了6个针对http://www.geonames.org/数据库的数据库规范化过程中的357行代码的示例。
三值逻辑示例,说明SQL中的Null
与我们以前在编程语言中使用的nil
, null
, NONE
有何不同。
想知道如何将一篇文章及其所有注释显示为一行,本书对此有一个答案。
编写“在应用程序开发中掌握PostgreSQL”的目的是说明如何最好地使用SQL解决开发人员必须解决的一些问题。
杂项
本书包含有关MongoDB的无效声明。 2018年6月发布的NoSQL数据库版本4.0现在支持ACID事务。 在书中说相反。
主观评估
这本书结构不好,有时不容易阅读。 例如,物化视图主题在较早的版本中进行了解释。
我认为这本书涵盖了初学者,中级和高级主题。 问题在于这本书的结构不是学习版,而是您可以在前面的章节中面对高级主题,而在本书结尾处则面向初学者。 像insert
, update
, delete
操作一样在8章7.2章中进行了解释。
有些想法在本书中反复解释,但我倾向于认为这很好。
这本书并不意味着要教您高级查询和技术。 主要目标是展示SQL的功能和PostgreSQL数据库完整功能的功能,我们可以使用它们简化我们的应用程序代码。
我不能说这本书是用简单易懂的语言写的。 有时由于缺乏专注力或对书面信息的理解,我一次又一次地阅读句子或段落。 这可能是由于英语不是我的母语。 但以上所述与最近的两章无关,阅读起来很愉快。
这既不是PostgreSQL食谱书,也不是教育书。 尽管您会在本书中涉及的许多代码示例和主题中找到灵感和想法,以解决您的日常任务。
我最喜欢的章节:
- PostgreSQL内部的“关系理论”一章
- 在开始处理应用程序中的时间之前,了解“日期/时间和时区”一章中介绍的处理时区也非常有用。
- 数据处理一章,特别是“隔离和锁定”和“监听和通知”,为我提供了大量新的高级信息
我学到了一些有用的技巧,可以提高设计数据库架构或编写SQL查询的效率。
拥有改进的第二版“在应用程序开发中掌握PostgreSQL”会很酷。 而且我猜想这个项目http://theartofpostgresql.com可能是Dimitri的下一个系列丛书或第二版。