どのような分野であっても、物事の根底にある考え方を理解することは重要なことです。ところが、こと、データベース分野に於いては、ツールの使い方の学習が先行しがちです。SQL文を覚え、データを抽出したりテーブルを作ったり。たいがいの日常業務は、それで困ることもないのかもしれませんが、データが失われにくい設計や動作が遅くない実装をしたい時、あるいは、なんらかのトラブルの解決をしなければならない時、基礎となる考え方を理解していないと、行き詰まってしまうものです。
システム開発で RDBMS に関わることのあるすべての人に読んでもらいたいのが、ジョー・セルコの著作です。中でも、「Joe Celko's SQL for Smarties, Advanced SQL Programming」はSQL界のバイブルと言って良いでしょう。
日本語版は、第2版を翻訳したものが2001年4月に出版されましたが、第3版は翻訳されることはありませんでした。そして干支が一回りした、2013年5月23日、待望の第4版の日本版が出版されます。第2版が500ページ程度だったのに対し、第4版は800ページの大作になっています。
http://www.amazon.co.jp/exec/obidos/ASIN/4798128023/japansite-22/
今回、この第4版の制作にあたり、査読にてお手伝いをさせていただきました。
2度3度、800ページを熟読し、ミックさんに質問し、内容によってはセルコさんまで質問が行って、本がよくなっていく。その課程は私にもたいへん勉強になりました。結構な量になったよな、と今数えてみたら、送ったメールは2500行にも達していました*1。
この手の本で、私がいつも残念に思うことがあります。とても良い事が書いてあるのにツメが甘いものが多いことです。ちょっとした誤字、図と本文の不一致、説明不足、サンプルコードの誤りなどがあると、とたんに読む意欲が萎えてしまいます。書いてあることを信用できなくなってしまうんですよね。
一方で、私も本を書かせていただいている立場からよくわかりますが、こういった誤りをチェックし修正するのには膨大な手間暇がかかります。ゼロからここまで世界を作り上げる作業を終えた身に、「そんな些細なこと」に多くの労を割くモチベーションは湧かないのは当然のことなのです。
ですが、この「セルコ4版」は違う。昨年、日本語版の出版のための作業が進んでいるという噂を聞き、読者のひとりとしても、とても楽しみにしていました。良い本になって欲しい、自分にできることがあれば力になりたい、そんな思いから、ご縁あっておーがみさんとともに査読に協力させていただけることになりました。
もともとのミックさんの翻訳も、隅々まで「愛ときどき茶目っ気」にあふれた素敵なものでしたが、査読者として、フレッシュな目だからこそ気づける点あり、ミックさんほどに内容をしっかりと理解しているわけではないからこそ言える「ここわかりません」があり、そしてそれらの指摘の多くを積極的に取り込んでくださったミックさんの柔軟かつ積極的な姿勢あり、とても完成度の高い本になっていると思っています。訳注に溢れるミック節も楽しめます。
実はこの本、セルコの単なる「日本語翻訳版」ではないのです。
セルコの意図を汲み、本人にも確認し、説明を加えたり組み替えたりなどが為されています。
原著にあった誤りも直っていて、まさに、「世界で一番正確なセルコの4版」なのです。「セルコ プログラマのためのSQL 第4版」の「日本語翻訳版」ではなく 「日本版」と呼ぶべきでしょう。
まさに、この本をベースにして英語版(Edition 4.1 ?)を出すと、世界中のSQLプログラマに喜ばれるのではないかと思うくらいです。
この手の本を読んで、その隅々まで同意しなくても良いと私は思っています。ただ、考え方を知っておくために、ぜひ本書を役立てて欲しいなと願っています。
追記: ミックさんのサイトで「まえがき」を読むことができます。
http://d.hatena.ne.jp/mickmack/20130519/1368931267
「表紙のおっさん」は、ガリレオさんじゃないんですかね。おひげとおでこの感じが特に(笑)。
関連記事:
ClubDB2の下佐粉さんの紹介記事:http://db2.jugem.cc/?eid=2561
- 作者: ジョー・セルコ,Joe Celko,ミック
- 出版社/メーカー: 翔泳社
- 発売日: 2013/05/24
- メディア: 大型本
- この商品を含むブログ (16件) を見る
*1:初回の指摘メールだけでこの分量なので、ディスカッション的にやりとりをした項目を含めるともっとある