達人に学ぶDB設計徹底指南書 第2版の表紙

達人に学ぶ DB 設計徹底指南書 第 2 版(タツジンニマナブディービーセッケイテッテイシナンショダニイハン)

クラウド・インフラ・DevOps
著者:
ミック(ミック)
出版社:
翔泳社
出版日:
2024年08月28日頃
ISBN:
9784798186627
在庫:
在庫あり
4.5(8 件 / 楽天ブックス)

なぜ注目されているか

言及数
100
総合171 16 ランクダウン 31 件の言及
出版前出版日03620222023202420252026

書籍紹介

本書は、プロの DB エンジニアである著者が、 DB 設計の基礎と実践ノウハウをやさしく手ほどきする『達人に学ぶ DB 設計徹底指南書』の改訂・第 2 版です。第 2 版では、初期構成を活かしつつ、クラウド時代に対応した内容にアップデートしました。論理設計の基本から、正規化、パフォーマンスなど、押さえておくべき基礎知識やポイントを幅広く体系的に解説するだけでなく、やってはいけないアンチパターン、注意すべきグレーノウハウも丁寧に解説します。「ただ何となくやってはいけないと分かっている」「なぜかはちゃんと分かってないけど、注意するようにしている」で終わらせず、きちんと「なぜ」を理解することができます。また、豊富なサンプル、章ごとの練習問題もあるので、実際の開発現場でも通用する知識を徹底的に身につけることができます。 DB エンジニアを目指す人、 DB 設計の基礎と実践をしっかり学びたい人、脱初級を目指す DB エンジニアやアプリケーション開発者など、 DB 設計・開発に携わるすべての方におすすめの一冊です。

技書の森解説

SQL は書けるのに、テーブルをどう分割しキーをどう決めるかになると自信が持てない。その段階のエンジニアに向けて、データベース設計の判断を「なぜそうするのか」の理由とセットで体系的に解説するのが、ミック著『達人に学ぶ DB 設計徹底指南書 第 2 版』 (翔泳社、 2024 年 8 月刊、 A5 判 392 ページ) です。初版は 2012 年 3 月刊で、 DB 設計の定番として長く読み継がれてきたロングセラーの改訂版にあたります。第 2 版は初版の構成を活かしながら、クラウド環境でのデータベース運用に対応する形で内容が更新されました。

想定読者と読む順序

想定読者は、 SELECT や JOIN といった SQL の基本は使えるものの、設計は先輩のテーブルを見よう見まねで覚えてきたという層です。版元は DB エンジニアを目指す人、脱初級を目指す DB エンジニアやアプリケーション開発者を対象に挙げており、章ごとに練習問題が付くため、読むだけでなく手を動かして設計判断を確かめられます。逆に SQL をまだ書いたことがない段階だと、題材の意味を取るのに苦労するはずなので、先に SQL の入門書 を済ませてから戻ってくるのが順序として無理がありません。

全 9 章の構成と名物のアンチパターン章

全 9 章 + 付録の構成で、前半は論理設計と物理設計の区別、第 1 正規形から第 5 正規形 (ボイス-コッド正規形を含む) までの 正規化 、 ER 図によるテーブル間関係の表現を積み上げます。中盤では正規化の代償に踏み込み、非正規化とパフォーマンスのトレードオフ、 インデックス設計 や統計情報といった物理面の要因を扱います。そして本書の名物といえるのが後半で、第 7 章はダブルミーニング、単一参照テーブル、ダブルマスタなど、名前を付けて整理された「やってはいけない」アンチパターン、第 8 章は代理キーや列持ちテーブルなど、明確な禁じ手ではないがリスクを理解して使うべきグレーノウハウ、第 9 章は隣接リストモデルと閉包テーブルモデルによる、リレーショナルデータベースが苦手とする木構造の扱いです。

読みどころはトレードオフ判断の言語化

テーブル設計がこれほど紙幅を割いて論じられるのは、データ構造がコードより長生きするからです。アプリケーションのコードは後からリファクタリングできますが、稼働を始めたデータベースの構造変更はデータ移行を伴い、影響範囲も難易度も桁違いに膨らみます。正規化は更新時の不整合を防ぐ理論的な裏付けである一方、テーブル分割の分だけ結合が増えるという代償を持ち、どこまで崩すかは常にトレードオフの判断になります。本書の核心は、この判断を「なんとなく危ない気がする」という感覚から、理由を説明できる基準へと言語化する点にあります。禁じ手と割り切るアンチパターンと、状況次第で選択肢になり得るグレーノウハウを分けて扱う二層構造も、実務の判断に濃淡をつけるうえで効きます。第 2 版で レプリケーション やクラウドの冗長構成の節が加わったことで、物理設計の議論をマネージドサービス前提の環境に読み替えやすくなりました。

類書との使い分け

同じ著者の『達人に学ぶ SQL 徹底指南書』と書名が似ていますが役割は別で、 SQL 本がクエリの書き方を磨く本であるのに対し、本書はテーブル構造そのものを設計する本です。両者は補完関係にあり、併読で効果が上がります。失敗事例を軸にした翻訳書『 SQL アンチパターン』と比べると、本書は正規化理論の基礎から積み上げた先に失敗例へ到達する構成なので、断片的な事例集ではなく体系として設計を学びたい人に向きます。一方、リレーショナルデータベースを前提とした設計論のため、 NoSQL 主体のスキーマ設計を求める読者には別の本が必要です。設計レビューで「なぜこのテーブル分割なのか」を根拠を添えて説明できるようになりたい人、我流の設計に不安を残したままシステムを増築している人にとって、読み終えた後も判断のたびに開き直す基準書として長く元が取れる一冊です。

言及 Qiita 記事 (26 件)

言及 Zenn 記事 (1 件)

この本に興味がある方におすすめ

この本に関連

ミック の他の書籍

関連記事

関連用語

共有:Xはてブ