ミックのレビュー一覧
-
Posted by ブクログ
本書は、SI企業に勤務するDBエンジニアのミック氏によって執筆された、リレーショナルデータベース設計の技術書です。単なる入門書ではなく、「なぜその設計にするのか」を理論と実務の両面から深く理解させてくれる一冊です。
冒頭では、データベースがシステムの中核であり、その設計品質がシステム全体の安定性や拡張性を左右することを明確に示しています。要件定義から論理設計、物理設計、さらには運用までを見通した構成となっており、設計を単なる工程の一部ではなく“戦略”として捉える視点が一貫している点が印象的です。
論理設計では正規化を中心に、第1正規形から第5正規形(ボイス・コッド正規形を含む)までを丁寧に解説。関数従属性を軸に理論的背景を示しながら、更新時不整合や挿入・削除時の問題をどのように防ぐのかを具体例で説明しています。特に、正規化とパフォーマンスのトレードオフに関する議論は実践的で、理想論に終わらない設計判断のポイントを学ぶことができます。
さらに、インデックスや統計情報だけでなく、パーティション、ヒント句、パラレルクエリといったチューニング手法についても、利点と欠点を整理しながら適切な使いどころを解説しています。物理設計の章では、レプリケーションやバックアップ設計にも踏み込み、可用性や障害対策を含めた運用視点までカバーしている点も大きな魅力です。
加えて、論理設計のアンチパターンやグレーノウハウの紹介も実務的で、現場で陥りがちな設計ミスを未然に防ぐヒントが豊富に示されています。リレーショナルデータベース設計を本質から理解したいエンジニアにとって、基礎固めにも再学習にも最適な、まさに必読の一冊だと思います。 -
Posted by ブクログ
学生時代に読んだ本の再読。データベースのお作法が列挙されている。今改めて読んでみると非常に良い本だなと感じる。実務と理論のいいところ取りをしている。
なぜ、データベースは、ぱっと見表形式なのにリレーショナル(関係)なのか、第三正規化までする理由、インデックスが有効になる場面など、有用な知識がたくさん詰まっている。
特にアンチパターンを列挙しながら、やはり原理原則に基づいて、設計をすべきだし、それでもダメならば例外的に非正規化といったことをすべきという主張は一貫してて良い。
本当かよ?と疑うようなアンチパターンが出てくるものの、実際に正規化や主キーなんて概念が存在しないデータが運用されている企業がたくさん存在しているという悲しい事実がある。(私もたくさん見てきた) -
Posted by ブクログ
時間ができたのでリスキリングとして何か仕事に役立つものをやりたいと考えていたところ、汎用的なハードスキルであり仕事にも即戦力として役立つのでSQLについて学ぼうと本書を手に取った。初心者エンジニア向けにデータベースの構築から初歩的なクエリ、障害対策やパフォーマンスまで幅広く分かりやすく解説されていた。基本情報〜応用情報でデータベースについて一通り知識がある人でも、データベースとは何かについて改めて深く知ることができ、おすすめしたい。SQLで自由にクエリをかけるようにすることを目標に読んでいたが、クエリ自体は6章で、他の章でDBの基礎について学べた。次に読む本ではより多くのキーワードに触れ、クエリの表現の幅を広げたい。
-
Posted by ブクログ
ネタバレ本書はSQLの構文の説明は一切なしに、いきなりCASE式の解説から入っています。
(まえがきで断っているように、実務でのSQLの経験がある人を対象にしているためです)
そして、以降でも随所でCASE式を使ったSELECT句での分岐が使われています。
また、相関サブクエリの説明はなく、代わりにウィンドウ関数を使うことを勧めており、その解説に紙面を割いている点が第1版との大きな違いのようです。
パフォーマンスチューニングについての解説は少なく、そちらは著者の「SQL実践入門」に譲り
こちらの本ではピュアな言語としてのSQLに的を絞っています。
SQL全体が体系的に書かれているわけではありませんが、順に非常に読みやすい解説になっています。
ただ、業務で生かそうとなると、何度も読み返して初めて自分の引き出しにできそうです。
本書は2部構成になっており、後半の排中律の拒否とSQLの関係や
「データベースがデータを集めたものではなく、真の命題を集めたものである・・」というデイトの言葉の引用(これは1部で出てきますが)などは実に奥深く、「ラッセルの論理学」や「ファインマン物理学」などを引き合いに出すあたりに著者の博識を感じます。
SQLのリファレンス本ではないですが、読み物として面白く、これは著者が認めるように遠山啓著「無限と連続」に負っているようです。
最近はNonSQLの話題も豊富な中で、NonSQLはSQLほどのイノベーションではない、と断言するあたり
著者はSQLを正しく俯瞰していると思わせ、単なるすぐに使える表層のテクニックではなく
SQLとは何なのか、そのバックグラウンドを知るのに手軽に読める一冊だと思います。