開発に必要なDB知識を2部構成で解説

『データベースエキスパートへの道』というタイトルが付けられている本書。中身を見ると、初級者がエキスパートになるまでに必要な知識/技術が解説されており、あえてカテゴライズするならば「入門書」となるだろう。ただし、入門書ではあるが、月刊誌『Software Design』の連載を書籍化したものだけあり、きちんと押さえるべきところは押さえられている。

入門者でもすらすら読める工夫が随所に

本書は2部構成で解説されている。

第1部は特定のデータベース製品に依存しない技術が対象で、ER図、正規化、SQLといったデータベースを設計するための基本的な知識が説明されている。一方、第2部では、実践編と銘打ち、実際の顧客向けシステムを構築する様子が描かれている。アプリケーション開発に携わるエンジニアがデータベースに関して理解しておかなければならないことはほとんど網羅されていると言ってよい。

解説は、一人の新入社員が先輩社員から教育を受けながら、徐々に知識を習得し、データベースへの造形を深めていくというストーリーで展開されている。登場人物の設定も個性的で、非常に読みやすく、技術書というより、小説や漫画のような感覚で読める。また、随所に「教育を受ける新入社員のノート」という形でポイントがまとめられている点にも作り手側の工夫がみられる。

正規化から性能改善まで詳しく解説

第1部では、正規化の解説に最も多くのページが割かれている。通常、入門書では第3正規化までしか触れられない場合が多いが、ボイスコッド正規化までが丁寧に説明されている。一方、ER図に関しては、IDEF1Xなどではなく、独自の描き方で解説している。これは、ER図の役目を伝えるという点に主眼が置かれた結果だ。

ただし、一言注文をつけるとすれば、本書の中でも触れられているとおり、リレーショナルデータベースは"表"というイメージでとらえるとわかりやすいのだが、解説では表はあまり使われていない。もう少し表を使った説明があると、よりわかりやすかっただろう。

続く第2部の実践編では、システム開発において要求をきちんと理解することがいかに重要であるか、という点にも触れられており、初級者にとっては参考になるはずだ。また、「自転車販売店用のWebショッピングサイト構築」という設定が、馴染みやすくイメージしやすい。販売する製品の種類や顧客の出す要件の数はそれほど多くなく、店舗としては小規模のものになるが、Webショッピングサイトの構築で必要な要件は含まれており、現実的な題材と言える。

第2部では、自転車販売店用のWebショッピングサイトを開発する、というストーリーで実践知識を紹介

ただ、こちらも贅沢を言わせていただくと、本書の例では、要件をヒアリングで聞き出す設定になっているが、通常はヒアリングだけではなく、すでに業務で使われている台帳/伝票といったものから情報を取り出してくることが多い。そういった話も盛り込めるとより現実の開発に近いイメージになったのではないだろうか。加えて、筆者個人としては、運用の要素を含めることも設計の中では非常に重要であると考えている。運用の面にも触れられていると、より実践度が高くなったように思う。

また、本書の物語では新人が失敗もなくスムーズに仕事を進めていくが、実際の現場では失敗例も多いはずである。そのような失敗例も、コラムというかたちで紹介してあると参考になったかもしれない。紙幅の都合もあり、難しいかもしれないが、続編が出ることになった際には、このあたりにも期待したい。

もっとも、運用を考慮したシステム構築における最も重要な要件の一つである「性能」については、ポイントをしっかり押さえている。また、データベースの物理設計の解説では、PostgreSQLを例に、テーブルに設定する各種制約やINDEX、トリガーなど、必要な内容が一通り網羅されている。エキスパートを目指す入門者向けの書籍という点を考慮すると、十分な実用性を備えていると言える。

必要知識は一通り網羅、データベース学習のきっかけに最適

データベースはシステムを構築していくうえでの要と言ってよい。アプリケーションを開発するうえでは、データベース設計がシステムの善し悪しを決める場合が多いが、意外と何をポイントとしてデータベースを設計していくべきかをきちんと理解していない(きちんと体系だててデータベース設計を習得していない)若いエンジニアが多いように思う。

これからシステム開発の世界に入り、リレーショナルデータベースを利用していく新人エンジニアがデータベースの設計を行うためには、どのような知識が必要で、システムを作るためには顧客からどのようなことを聞き出さなくてはいけないかを知るうえで、本書はためになる1冊だ。読みやすさという点でも優れているので、新入社員の方は、新人教育でデータベースの基本を学んだらぜひ読んで欲しい。また、データベースエンジニアを目指す方、データベースを深く理解したい方は、この本をきっかけとして、さらに専門的な解説書に進むと良いだろう。

1点残念だったのは、何箇所か誤植があったところだ。初版であるので、仕方ないとは思うが、読み手としては気になってしまった。

執筆者紹介

真嶌晋(MAJIMA Susumu)


1990年頃からオブジェクト指向の教育コース開発を担当するなど、長きにわたりオブジェクト指向に携わるエンジニア。最近はオブジェクト指向/Javaに関するコンサルティングや教育に従事している。自宅ではCentOSでサーバーを立て、Trac、Subversion、Pukiukiなどをインストール。Eclipseを使って、実務開発さながらの、趣味のプログラミングを楽しんでいる。ここ数年はRuby、Ruby on Railsも手掛け、オブジェクト指向への関心度合いが一段と高くなってきている。

『ふしぎ先輩が教えるデータベースエキスパートへの道 ~実践的リレーショナルデータベース設計手法~』


著者: 稲葉香理
発行: 技術評論社
ページ数: 224ページ
ISBN: 4-77-41-3885-1
価格: 1,974円