Dimitri Fontaine精通应用程序开发中的PostgreSQL

书评

Pexels的Element5 Digital摄

为了谁

本书适用于使用数据库服务器的应用程序的开发人员。

Dimitri Fontaine。 在应用程序开发中掌握PostgreSQL(Kindle位置66–67)。 Kindle版。

“在应用程序开发中精通PostgreSQL”对于处理PostgreSQL关系数据库管理系统的开发人员来说最有价值。

如何阅读

这本书要求您遵循并阅读许多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与我们以前在编程语言中使用的nilnullNONE有何不同。

想知道如何将一篇文章及其所有注释显示为一行,本书对此有一个答案。

编写“在应用程序开发中掌握PostgreSQL”的目的是说明如何最好地使用SQL解决开发人员必须解决的一些问题。

杂项

本书包含有关MongoDB的无效声明。 2018年6月发布的NoSQL数据库版本4.0现在支持ACID事务。 在书中说相反。

主观评估

这本书结构不好,有时不容易阅读。 例如,物化视图主题在较早的版本中进行了解释。

我认为这本书涵盖了初学者,中级和高级主题。 问题在于这本书的结构不是学习版,而是您可以在前面的章节中面对高级主题,而在本书结尾处则面向初学者。 像insertupdatedelete操作一样在8章7.2章中进行了解释。

有些想法在本书中反复解释,但我倾向于认为这很好。

这本书并不意味着要教您高级查询和技术。 主要目标是展示SQL的功能和PostgreSQL数据库完整功能的功能,我们可以使用它们简化我们的应用程序代码。

我不能说这本书是用简单易懂的语言写的。 有时由于缺乏专注力或对书面信息的理解,我一次又一次地阅读句子或段落。 这可能是由于英语不是我的母语。 但以上所述与最近的两章无关,阅读起来很愉快。

这既不是PostgreSQL食谱书,也不是教育书。 尽管您会在本书中涉及的许多代码示例和主题中找到灵感和想法,以解决您的日常任务。

我最喜欢的章节:

  • PostgreSQL内部的“关系理论”一章
  • 在开始处理应用程序中的时间之前,了解“日期/时间和时区”一章中介绍的处理时区也非常有用。
  • 数据处理一章,特别是“隔离和锁定”和“监听和通知”,为我提供了大量新的高级信息

我学到了一些有用的技巧,可以提高设计数据库架构或编写SQL查询的效率。

拥有改进的第二版“在应用程序开发中掌握PostgreSQL”会很酷。 而且我猜想这个项目http://theartofpostgresql.com可能是Dimitri的下一个系列丛书或第二版。