カテゴリー: DB

  • 【書評】達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

    達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ の書評です。

    結論から言うと、データベース初心者が、SQLの構文を学習した後、「テーブルってどう設計すればいいの?」という疑問が湧いてきた時に読むべき一冊です。

    ■ 良い点
    ・ DB設計の理解が深まる
    ・ ポイントが簡潔に示されている
    ・ アンチパターンが紹介されている
    ・ 設計上のトレードオフが考慮されている
    ・ 文章が読みやすく図表がわかりやすい

    ■ 悪い点
    ・ 特に無し

    ■ 総評
    データベースの『設計』に重点を置いた初心者向きの書籍です。主要なテーマである正規形に詳しく、非正規化やER図、そしてツリー構造の扱いなど基礎から解説されています。

    特に正規形については、第5正規形まで省略せず、図表を用いて解説されています。加えて、正規化と非正規化のトレード・オフにも触れられていて実務での参考になります。

    また、バックアップについても、フル・差分・増分について、きちんと扱われているのが好印象です。

    その他、著者の経験に基づく、アンチパターン(バッドノウハウ、グレーノウハウ)など、多くのヒントがあるので、DBの設計に関わるならば、一通り目を通しておきたい一冊です。

    なお、DBの設計に主眼が置かれているため、SQLの解説はあまりありません。そのため、本書を読むためには、前提として基礎的なSQLの知識が必要です。SQLの構文を学習したら、次にデータベースの設計について、本書で学習すると良いと思います。

    達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

  • 【書評】SQLアンチパターン

    SQLアンチパターン の書評です。

    結論から言うと、データベースを扱うなら知っておくべき、やってはいけない25のアンチパターンを重点的に解説した一冊です。

    ■ 良い点
    ・ よくある問題点と解決策が的確に示されている
    ・ サンプル例が一貫しており具体的かつ実用的である
    ・ 役立つヒントが多くSQLの理解も深まる
    ・ 訳書であるがとても読みやすい

    ■ 悪い点
    ・ 章のタイトルがキャッチー過ぎる
    ・ 所々わかりづらい箇所がある

    ■ 総評
    SQLアンチパターンというタイトルですが、内容的にはデータベース全般(論理設計・物理設計・クエリ・アプリ開発)が扱われています。レベル的には、中級レベルといったところでしょうか。DBの運用経験があり、プログラミングにおけるオブジェクト指向の理解があると理解が進みます。

    内容的には、ほぼ全ての章で、『バグ報告システム』なるデータベース・アプリケーションを構築するという仮定で解説が進みます。具体例が一貫しているので、学習コストが低く抑えられます。

    本書の解説は、特定のデータベースに依存しないものとなっていますが、プログラミング言語としては、PHPが採用されPDOを使った解説となっています。そのため、PHP使いには特にお勧めです。

    25のアンチパターンが扱われていますが、常識的な基礎事項も多いので、データベース運用者ならば内容を一通り押さえておくべき書籍です。

    SQLアンチパターン

  • 【書評】44のアンチパターンに学ぶDBシステム

    44のアンチパターンに学ぶDBシステム の書評です。

    結論から言うと、データベースの設計や運用において、やりがちな悪いパターンを初心者にもわかりやすく、上手くまとめた一冊です。

    ■ 良い点
    ・ 各アンチパターンが適度な量にまとまっている
    ・ 構成が一貫していて読みやすい
    ・ 図表がわかりやすい
    ・ 実務的なトピックが多い
    ・ 著者の体験談が参考になる
    ・ 人や組織によるアンチパターンも扱われている

    ■ 悪い点
    ・ 特に無し
    ・ あえて言えば上級者には少し物足りないかも

    ■ 総評
    DBシステムに重点をおいたアンチパターン集です。44のトピックが3~5ページほどにまとめられていて、スラスラと読むことができます。初心者にもわかりやすい解説がなされていて、DBシステムの定石をあまり知らない初心者向きと言える一冊です。

    ちなみに、著者は、Oracle関連の人なので、DBはOracleが念頭におかれています。ただ、DBに依存しない解説となっているので、MySQL等でも通用する内容になっています。

    内容的には、DBシステムに重点をおいているため、SQLの解説は少なく、設計や保守管理等の解説が多くなっています。最後の編では、人や組織にまつわるトピックも扱われており参考になります。

    著者の実体験にもとづく、「挿話」といった経験談が、ちょっぴり皮肉が効いていたりして飽きずに最後まで読み通せます。

    初心者が早めに読むと、後々困らなくなる予防薬的な一冊です。

    44のアンチパターンに学ぶDBシステム (DB Magazine SELECTION)

  • 【書評】Webエンジニアのためのデータベース技術[実践]入門

    Webエンジニアのための データベース技術[実践]入門 の書評です。

    結論から言うと、MySQLをメインにデータベース全般のトピックを学習できるWebエンジニア向けの入門書です

    ■ 良い点
    ・ データベース全般のトピックを学習できる
    ・ 大規模開発や大量のデータの扱いに詳しい
    ・ ポイントや要点が絞られている
    ・ 筆者の経験談が参考になる
    ・ 実際に役立つ情報が多い
    ・ Tips(薀蓄)がためになる

    ■ 悪い点
    ・ 本文の文字が若干小さい
    ・ 説明や内容に少々重複がある

    ■ 総評

    MySQLがメインのデータベース(DB)解説本です。用途としては、Webアプリ開発に焦点があてられています。

    元々、雑誌に掲載された4つの連載記事や特集を編集し一冊の書籍にまとめたものであり、各章間で内容に少々の重複があります。ページ数は、約310ページほどで、スラスラと読めます。

    内容的には、データベースの仕組みと機能全般がわかるような解説となっています。中でも、インデックスやトランザクション、バックアップ、MyISAMとInnoDBの違いなど重要なポイントが詳しく説明されています。

    更に、上級者向けに、MySQLのソースコード(C、C++)の解析などもあります。入門者から上級者まで、読めば何かしら得ることのある一冊だと思います。
    また、筆者が経験した大規模開発(mobage)などでの経験談など、先輩エンジニアの話として興味深いトピックも扱われています。

    大量のデータをMySQLで扱うWeb開発エンジニアならば、一通り目を通しておきたい一冊です。

    Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

  • 【書評】おうちで学べるデータベースのきほん

    おうちで学べるデータベースのきほん の書評です。

    結論から言えば、データベース(DB)をはじめて扱う初心者が、DBの概要を知るためのコンパクトな入門書です。

    ■ 良い点
    ・ DBの基本に重点が置かれている
    ・ 解説の要点が絞られている
    ・ 読みやすくスラスラ読める
    ・ 図表がわかりやすい
    ・ 特定のデータベースに依存しない説明

    ■ 悪い点
    ・ SQLの章は説明が駆け足

    ■ 総評

    データベース入門者が、DBについて一通り学習するための一冊です。なお、MySQLがメインに扱われており、ページ数は約340Pほどです。

    DBとは何か、DBはなぜ必要か、SQLとは何かといった基礎の基礎から解説がなされます。DB全般部分については、ミック氏が、SQL(6章,7章)とトランザクション(9章)は、木村氏が担当しています。つまり、共著です。

    ある程度知識がある人にとっても、データベースの総復習として役に立ちます。ただ、SQLに関する説明はだいぶ駆け足で、もう少し詳しい説明があっても良かったかなと思います。

    個人的には、パフォーマンスの章がかなり役に立ちました。インデックスの扱いなどこの辺は実務でも役立ちます。また、DBのコストや冗長化など、実務的な話題もためになります。そして、DBというものを通した、ある種のものの考え方が新鮮な一冊でした。

    おうちで学べるデータベースのきほん