- 作者: ミック,木村明治
- 出版社/メーカー: 翔泳社
- 発売日: 2015/02/13
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
データベース界隈では有名人であろうミックさんの本。ブログに載っていたので読んでみました。
この本は、データベースとは何ぞやという話から、基本的な設計の仕組み、データベースのコストの話などをきちんと学んだ上で、データベースの構造、SQL、テーブル設計、運用設計(バックアップ・リカバリ)、チューニングを扱う構成で、データベースに関する事柄がコンパクトにまとまっていました。
特に面白かったのは「正規化」に関する部分でした。
これまでは正規化は、情報処理試験対策で知ってはいるものの、いまいち理解しきれておらず、感覚的にとらえていました。しかし、この本は「関数従属性」について簡略化してわかりやすく記載されており、頭の中を整理することができました*1。
大前提:テーブルは関数(関数従属性が成立する)「入力に対して一意に出力が定まる」
第1正規形:すべの値がスカラ値である。「セルに複合的な値(配列など)を含まない」
第2正規形:部分関数従属(関数従属の一種)が存在しない。「主キーを構成する列の一部にだけ関数従属する列が存在すること」
第3正規形:推移関数従属が存在しない。「主キー以外のキー同士に関数従属が発生すること」
それ以外の項目も、初心者でもわかるように丁寧に解説されているので、エンジニアに限らず、これからデータベースを学ぼうとする人にはとても良い本だと思います。
参考
新著が出ます:『おうちで学べるデータベースのきほん』 - ミックのブログ
*1:とはいえ、注意すべきこともあるとは思っていて、二次元の表と言い切ってしまうと、本来のモデルとは違うのだろうなと思います。tableとrelationの違いはミックさんのWebサイトに記載があります。なぜ"関係"モデルという名前なの?