テーブル設計は動けばいい、くらいの感覚で組んでしまっている。正規化も「なんとなく崩さない方がいい」程度の理解で、パフォーマンスが問題になって初めて設計を見直す羽目になる。『達人に学ぶDB設計徹底指南書 第2版』は、その「なんとなく」を体系立った判断基準に変えてくれる本だった。
論理設計から物理設計、そしてパフォーマンスまで一直線
本書はデータベースを制する者がシステムを制すという章から始まり、論理設計と物理設計の違い、正規化の意味、ER図によるテーブル関係の表現、そして正規化の欠点である非正規化の判断まで、順を追って積み上がっていく。正規化を「守るべきルール」ではなく「トレードオフを伴う設計判断」として説明しているのが実務的だった。
アンチパターンとグレーノウハウがそのまま現場の教訓になる
第2版ではクラウド対応も加わり、内容が最新化されている。特に論理設計のアンチパターンとグレーノウハウを扱う章は、教科書的な正解だけでなく、現場で実際にやりがちな失敗や判断が割れるケースまで踏み込んでいて、他のDB設計本にはあまりない実践的な情報量だった。
読んでよかったポイント
- 正規化の章を読んでから、テーブルを分割する理由を後輩に説明できるようになった
- ER図の書き方が整理されていて、複数テーブルの関係を最初にきちんと図にする習慣がついた
- 非正規化の判断基準が具体的で、パフォーマンス改善の名目で無秩序に崩していた設計を見直すきっかけになった
- 論理設計のアンチパターンの章が、過去に自分が組んだ設計の反省点をいくつも言い当てていた
- RDBで木構造を扱う章は、これまで避けていた設計課題に正面から向き合う自信をくれた
さらに広げて読むなら
要件からデータモデルを組み立てる上流工程まで押さえておきたいなら、要件はあるのにデータ設計で詰まる人へ。概念データモデルから整理できる一冊も合わせて読むと、要求からテーブル設計までの流れが一本につながる。
まとめ
DB設計は動けば正解というものではなく、後から効いてくる判断の積み重ねだ。次にテーブルを設計するときは、この本の正規化の章を思い出しながら一つずつ理由を言語化してみてほしい。