nekoTheShadow’s diary

IT業界の片隅でひっそり生きるシステムエンジニアです(´・ω・`)

ジョー・セルコ著、ミック訳『プログラマのためのSQL 第4版 すべてを知り尽くしたいあなたに』(翔泳社)を読んだ

honto.jp

前々から気にはなっていたものの、かなりの大ボリューム(大型本で全816ページ)ということで、なかなか手を出せないでいたのですが、このたび何とか読み終えることができました。読んでいた期間はだいたい2か月ぐらいでしょうか。といっても2か月間ずっと読んでいたのではなく、気が向いたときにだらだら読み進めていた感じなので、毎日ちゃんと読めば1か月弱ぐらいで読み切れたとは思います。

自分は電車での移動中に本を読むことが多いのですが、コロナウィルスの影響で外出を自粛していた結果、電車に乗る機会が激減。とくにリモートワークになって、電車通勤がなくなったことが一番大きく、それが本書を読み切るのに時間がかかってしまった最大の要因のような気がします。

それはさておき、本書の内容をひとことでいうならば「SQLの一般教養」。かなり大部の本なので、ニッチな機能や細かなテクニックが紹介されているのかと思いきや、まあそういったものもかなり紹介されてはいるのだが、しかし本書のほとんどは、SQLやデータベースの根本となるものについて、歴史的・理論的な背景を骨太に説明しています。教科書といえるほど体系的な作りにはなっていないのですが、SQLの背景をなすものを正しく理解できるとは思います。

個人的にとくに勉強になったのはNULL周りの話です。SQLにおけるNULLの位置づけというのは、かなり複雑で、自分でも理解しているようでまったく理解していなかったのですが、本書を読んでその理論的な背景がおぼろげながらわかったような気がしています。SQLのNULLについてここまで語っている本は珍しいのではないでしょうか?

NULLだけでなく、SQLやDBの全般的なお話に興味がある人にとっては読むに価値のある1冊だと思います。自分の場合、コンピュータサイエンスをちゃんと学んでいないということもあって、このあたりの知識をその場しのぎで身に着けてきたのですが、はじめて体系的に学習したような気がします。また読んだ後も手元に置いて、困ったときに助けを求めることができる1冊でもあると思います。「すべてを知り尽くしたいあなたに」という副題、あるいは、「SQLプログラミングバイブル」といううたい文句は伊達じゃないななんて思いました。