『達人に学ぶDB設計 徹底指南書』を読んだ
こんにちは、 @kz_morita です。
今回は、『 達人に学ぶDB設計 徹底指南書 ~初級者で終わりたくないあなたへ 』という本を読んだのでその感想などを書いていきます。
書籍について 『 達人に学ぶDB設計 徹底指南書 ~初級者で終わりたくないあなたへ 』という名前の本で、翔泳社から出版されています。
https://www.shoeisha.co.jp/book/detail/9784798124704 目次は以下のようになっています。
第1章 データベースを制する者はシステムを制す 1-1 システムとデータベース 1-2 データベースあれこれ 1-3 システム開発の工程と設計 1-4 設計工程とデータベース 第2章 論理設計と物理設計 2-1 概念スキーマと論理設計 2-2 内部スキーマと物理設計 2-3 バックアップ設計 2-4 リカバリ設計 第3章 論理設計と正規化 ~なぜテーブルは分割する必要があるのか? 3-1 テーブルとは何か? 3-2 テーブルの構成要素 3-3 正規化とは何か? 3-4 第1正規形 3-5 第2正規形 ~部分関数従属 3-6 第3正規形 ~推移的関数従属 3-7 ボイス-コッド正規形 3-8 第4正規形 3-9 第5正規形 3-10 正規化についてのまとめ 第4章 ER図 ~複数のテーブルの関係を表現する 4-1 テーブルが多すぎる! 4-2 テーブル同士の関連を見抜く 4-3 ER図の描き方 4-4 「多対多」と関連実体 第5章 論理設計とパフォーマンス ~正規化の欠点と非正規化 5-1 正規化の功罪 5-2 非正規化とパフォーマンス 5-3 冗長性とパフォーマンスのトレードオフ 第6章 データベースとパフォーマンス 6-1 データベースのパフォーマンスを決める要因 6-2 インデックス設計 6-3 B-treeインデックスの設計方針 6-4 統計情報 第7章 論理設計のバッドノウハウ 7-1 論理設計の「やってはいけない」 7-2 非スカラ値(第1正規形未満) 7-3 ダブルミーニング 7-4 単一参照テーブル 7-5 テーブル分割 7-6 不適切なキー 7-7 ダブルマスタ 第8章 論理設計のグレーノウハウ 8-1 違法すれすれの「ライン上」に位置する設計 8-2 代理キー ~主キーが役に立たないとき 8-3 列持ちテーブル 8-4 アドホックな集計キー 8-5 多段ビュー 8-6 データクレンジングの重要性 第9章 一歩進んだ論理設計 ~SQLで木構造を扱う 9-1 リレーショナルデータベースのアキレス腱 9-2 伝統的な解法 ~隣接リストモデル 9-3 新しい解法 ~入れ子集合モデル 9-4 もしも無限の資源があったなら ~入れ子区間モデル 9-5 ノードをフォルダだと思え ~経路列挙モデル 9-6 各モデルのまとめ 付録 演習問題の解答 索引 感想など まず、この本を読もうと思ったモチベーションはテーブル設計 (主にマスターテーブル) を行ったときに、うまく言語化できないが使いづらい設計になったためどのあたりに問題があるのか?といった点を明確にしたいという点にありました。