書評

「理論から学ぶデータベース実践入門」を読んだ感想

  • このエントリーをはてなブックマークに追加

春のデータベーススペシャリスト試験の申し込みをしたはいいものの、いまいちモチベーションが上がらないので適当な本でも読むかと思い購入。

タイトルにもあるように(リレーションモデルの)理論を理解した上でDB設計を行うことで効率的なSQL、優れたパフォーマンス、保守性などを実現していくことをテーマにした本です。

前半の殆どはリレーションモデルの理論についての説明。RDBやSQLは表現力が高く、割と力づくでなんとでもなってしまうし、それ故に簡単に崩壊することもある。なのでそもそもの本質である「リレーションモデル」の理論を重点的に説明し、それに基づいた設計を行うことが大切だという切り口はすごく良いと思う。

ただ、筆者の語り口にかなり癖があるので前半を読み進めるのは個人的に辛かった。 語り口以外にもテーブル例の人名が幕末志士だったり、終始“なんかそういう感じ”なので事前に筆者のブログ(漢(オトコ)のコンピュータ道)で合う合わないを確認してからの購入をオススメします。

以下にテーブルの例を載せるけど、自分はとにかく気が散った。 参考:シンプルなテーブルの例

氏名学科
桂小五郎コンピュータアーキテクチャ
勝海舟コンパイラ
坂本龍馬データベース
西郷隆盛データベース
高杉晋作コンパイラ

後半は前半で学んだことを活かせる具体例とデータベースに関するその他の知識(インデックス、Webアプリケーションのためのデータ構造、リファクタリング、トランザクション…)。なんだけど、前半と比べて急に勢いがなくなって「深く理解したいのであれば、『~』という良書があります」の連発でかなりがっかりする。一応本書のキモであるリレーションモデルに寄せてそれぞれ解説されている気もするが、とにかく内容が薄い(それこそ別の本を読んだ方が良い)。「データベース実践入門」と銘打っているからなのか、一応網羅しておくかという“やっつけ感”があるので注意。

前半の理論に関する話、後半の実践的な話でかなり内容に差があるが、結局データベースを扱うっていうのはそういうことなんだろうと思う。みんな理想的なデータベースの状態がどういうものかっていうのは分かっているけど、それをうまく落とし込めない。だからこそSQLアンチパターンみたいな“良くない状態”を前提として少しでも改善していくような本が持て囃される。

本書を読むと“自信を持ってDBが正規化できる”ようにはなるんだけど、結局それだけという感じが否めない。なので、まずSQLアンチパターンなどの定番書を読んだほうが役に立つと思う(本書の内容とも一部被っているし)。表紙に調子の良い事が色々書かれてはいるんだけど、通読した後で見返すとただとっ散らかっているだけに思えて虚しい。

というわけであまりオススメはできないかなと思いました。少なくとも優先して読むべきDB関連の本は他にたくさんあるはず。あと、著者が自信を持っているであろう前半部分についてもamazonのレビューや他の書評で否定的な意見がすごく多いので要確認。筆者のブログは有名だし、確実に価値があるものだと思うけど、この本の内容はかなり疑問。信者だったら買ってもいいかも。それでもかなり信仰が試される内容だと思いますが……

  • このエントリーをはてなブックマークに追加
avatar