プログラマでありたい

おっさんになっても、プログラマでありつづけたい

日本一熱いデータベース論、「理論から学ぶデータベース実践入門」

 技評さんから理論から学ぶデータベース実践入門を頂きました。ありがとうございます。
f:id:dkfj:20150224011323j:plain

著者の奥野さん



 著者は、漢(オトコ)のコンピュータ道で有名な奥野さんです。直接の面識はないものの、データベース設計に悩み調べて行き着いた先が奥野さんが出している情報ということはよくありました。そんなこともあり、心のなかで勝手にデータベースの師匠として崇めています。そんな奥野さんが扱うテーマは、MySQLではなくデータベースです。個別の製品の話ではなく、データベース理論です。実践入門と銘打っているだけあり、データベース設計の具体的なやり方、考え方が随所にあります。

何について書いているのか?



 ポイントは、説明とやり方を集めたノウハウ集ではなく、設計の考え方の指針を示している点です。例えば、ID設計の話。永遠の論争であるナチュラルキーとサロゲートキー、どちらが適切かという命題があります。それぞれの利点と問題点を上げて、どういう場合に適しているかの持論を展開しています。そこから、IDの欠陥の例として、IDの一部に意味がある場合をあげ、「CLN-CYC-0123-BL」のような製品コードを取り上げています。IDの中に複数の意味を込められまくった例ですね。思わずあるあると言いたくなる設計の失敗を、その設計が何故悪いのか論理的に説明しています。このように理路整然と問題の本質を指摘できれば、設計レビューも随分と意味があるものになるでしょう。

データベース論



 そのような感じで、データベースに関するありとあらゆるところに持論を展開しています。まだざっと目を通して興味を持ったところを拾い読みしている段階ですが、どこをとっても濃いです。じっくり考えながら読むと1ヶ月は掛かりそうな濃縮度です。
 私は今現在、それほどデータベースに関わる仕事はしていません。しかし、随分長い間、データベースと向かい合ってきました。今考えると、随分多くの間違った設計やSQLを残してきました。逆に、今でも良い設計だなぁと思えるものもあります。それらと照らし合わせながら、やっぱりそうだよねとか、そういうことだったのかと今更ながら気がつくことが沢山ありました。そういった意味で、かなり幅広く読まれるべき本の一冊だと思います。でも、入門ではないですよね。

まとめ



 ちなみに、この本を読んでいて感心したのが、よくここまで持論を書けるなという点です。自身の執筆経験から考えると、技術書で持論を書くのは中々難しいことなのです。いろいろなやり方・考え方がある中で、自分はこう考えるとハッキリ打ち出すのは、実は難しいことです。気を強くもって書かないと、誰もがそうだよね知っているよねという当たり障りない本になってしまいます。その中で、データベースという万人が扱う技術に対して、ここまで熱く持論を語れるのは奥野さんだけなのではないかなと思います。
 データベースの世界に入り込んだばかりの人も、あるいはずっと歩み続けた人も、奥野さん流のデータベース理論にまず触れてみるのがいいのではないでしょうか。たぶん自分のデータベース理論の構築につながるでしょう。時間を作って、個別のテーマを紹介しようと思います。

理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus)

理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus)