nashcft's blog

時々何か書く。

Relational Theory for Computer Professionalsを読んだ

Relational Theory for Computer Professionals: What Relational Databases Are Really All About (Theory in Practice)

Relational Theory for Computer Professionals: What Relational Databases Are Really All About (Theory in Practice)

すでにだいぶ前の話ではありますが。
大学時代NoSQLはそれなりに追っていたのですがRDBはそうでもなかったので、一度理論側からしっかり勉強してみようと言う事で、1冊目にこの本を選びました。
200ページそこそことそれほど分量もなくさくっと読めるかと思ったら結構手こずりました。その辺に関しては後ほど。

構成としては3つのパートに分かれており、パート1がrelational modelについて、パート2はデータベースのトランザクションとデザインについて、パート3はSQLについて述べられています。Relational modelのoperationについてはTutorial Dで、SQLはISO標準に基づいて記述されています。パート1とパート3を対応させるように書かれており、理論と実装の差異がより明確に浮かび上がらせ、この対比を通してrelational theory本来の簡潔さや表現力の高さを主張しています。
AppendixではTutorial Dの補足的な解説や定義について、また集合論のちょっとしたまとめが付随してるので、数学的な背景に自身の無い人でも必要最低限は押さえられると思います。

内容とは関係ないですが、とてもwordyな本だという印象を持ちました。もっと簡潔に書いてくれたらもっと評価高かったんだけどな...。
あとDate氏はSQL嫌いなんだろうなーと思いました。Prefaceののっけから"... considered as a concrete realization of the abstract ideas of the relational model, SQL is very deeply flawed" なんて言ってますし。その後も SQLは全然relationalじゃないよーと度々主張していたり、パート3の最終章ではその具体例を列挙していたり。

RDBやそのoperationの集合論的な捉え方をある程度習得できたし、よりrelationalなSQLの書き方も解った所で、さて次は何を読もうか。