Hatena::ブログ(Diary)

周回遅れのブルース

2015-03-21

「理論から学ぶデータベース実践入門」を読破するための参考資料

| 13:53 | 「理論から学ぶデータベース実践入門」を読破するための参考資料を含むブックマーク

先日来、ずっと「理論から学ぶデータベース実践入門」を読んで勉強中です。

私はどちらかと言えば下流メインで DB設計に関しては意見できる程度ですが、それでもSQLは割と書く方だしDB関連書籍もいくつか読んでたので、それなりに判ってたつもりでした。だけに、読めば読むほど、今まで RDB や DB設計についてどれだけ勘違いしてたのか、つくづく身につまされる思いです。むかし「1ページに1度、あなたは激しくうなずく」とかいって宣伝してる本ありましたが、この本読んでると、5ページに1度は、「おお、そうだったのかー!」と仰け反るような記述が出てくるので、本当に驚かされますね。


しかし本書は以前のエントリでも書いたとおり、リレーショナルモデルを集合論論理学*1という高等数学を用いつつ基礎から解説しているため、中級者であっても容易には理解し難い内容になっているのも事実です。くそ忙しい現場だと・・・

はいはいはい、ふむふむ、わかったー!でも現場じゃ綺麗ごといってらんないのよねっー!

といって流し読みされ、積読(つん読)状態にされることも少なくないのではなかろうか?そこでくそ忙しい方々のために、本書の読破に役立つリソースを幾つか紹介してみたいと思います。


ブログ

まず筆者による紹介記事、これ読めば、本書がいかなる性質を持つ本なのか、概要(ならびにデータベースに関する著者の魂の叫び)が判ると思います。

書籍出版のお知らせ:理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL


おなじく漢の中の人のブログ記事。「正規化のやり過ぎは現実的じゃないぜヒャッハー」という声に対する著者の回答でもある。

漢(オトコ)のコンピュータ道: DB設計の難しさ


おなじく漢の中の人のエントリ。本書の中でも「ナチュラルキーとサロゲートキー」について言及しているが、こちらのエントリもかなり熱いのでお勧めしたい。

ナチュラルキーとサロゲートキーについての議論


wiki

お次はリレーショナルモデルに関する wiki。いまではかなり慣れてきたが、当初はリレーションの解説で出てきた「見出し」「本体」「属性」「組(タプル)」の各用語を聞き慣れてなかったためイメージが湧かず、理解に少し苦しみました。本書にも wiki にあるような図が掲載されてれば、より理解し易かった様に思います。

関係モデル(リレーショナルモデル)


wikiではないけど、上記関係モデル(リレーショナルモデル)をより深く理解したい人向けの記事。SQL関連書籍で有名なミックさんが書いてます。「名は体を表わす」とはよく言ったもんだ。

なぜ”関係”モデルという名前なの?


スライド

slideshare で公開されてる勉強会資料。本書の原点ともいえる資料が複数公開されてます。中でも以下の資料が特に判りやすいのではなかろうか。正規化を解説する例も「学生と学科」というありきたりのものでなく刃牙シリーズの登場人物を用いてるため、人によってはより親近感を持って読めると思うw


書籍

さらに合わせて読みたいのが、SQLアンチパターンですね。著者の奥野さんもお勧めの一冊です。私が購入した本は現場にあるが・・・まだ部分的にしか読んでない!この本読み終えたら読まねば!

#2015/03/23 いまチラ見したら、巻末「付録A」にもリレーショナルと正規化について同様の解説が載ってた・・・

SQLアンチパターン

SQLアンチパターン


まだ読んでないし尼でも現在*2売り切れてるようだが、こちらもたいへん面白そうである。内容説明やレビューを見ると「実践データベース入門」の前半部分だけを丸々一冊にしたようなイメージであろうか。リレーショナルモデルの提唱者・E.Fコッド博士の協力者であり、IBMSQL の策定に寄与し、関係モデルの中心的な研究者とのことなので、ある意味こちらが本家のようである。


 

*1:リンク先は命題論理にしといた

*2:2015/03/25

S.IshikawaS.Ishikawa 2015/03/23 14:42 お疲れ様です。
あまり時間がなく、昨年末に購入した「Webを支える技術」すら読めていませんが、
この本も今度読んでみます。いつも情報、有難うございます。

hilaponhilapon 2015/03/24 00:52 どもです。IT関連書籍では久々に衝撃受けました。マジおすすめです!

下のスライド内で奥野さんが

「目の前のタスクを優先した結果、SQLの構文とトランザクション "だけ" やたら詳しくなり・・・リレーショナルモデルが蔑ろに!!」

と書いてますけど、久々に延髄斬り喰らった気分ですw


また調べれば調べるほど、リレーショナルモデルが数学理論に裏打ちされた究めて完成度の高いモデルであることが判ってきて、その奥深さに興味が湧くと同時に、だから SQL って歴史古い割に廃れないんだと感心した次第です。

本書読破するのにリレーショナルモデル知らない人だと 1〜4章は我慢しどころになると思いますが、いったんリレーショナルモデルの概要が頭に入ると、本書の後半部分が極めて実践的な内容になってるのが判ると思います。まだ完走してませんが、個人的には「第8章 SELECT を攻略する」「第9章 履歴データとうまく付き合う」「第11章 インデックスの設計戦略」は、うおーっ!と思いました。

特に9章では履歴データの問題点を挙げてますが、実はRDBと履歴データは相性がよくないという事実を知ったとき、「何でクエリがここまで複雑化すんだろ・・・」と引っ掛かってた原因がよく判り、目から鱗でしたです。

S.IshikawaS.Ishikawa 2015/03/24 09:18 おはようございます。
ますます興味が湧いてきました。
是非読みたいと思っております。