プログラマのためのSQLグラフ原論: リレーショナルデータベースで木と階層構造を扱うために
- 翔泳社 (2016年8月1日発売)
- Amazon.co.jp ・本 (321ページ)
- / ISBN・EAN: 9784798144573
作品紹介・あらすじ
SQLの第一人者であるジョー・セルコの名著『プログラマのためのSQL(原題:Joe Celko's SQL for Smarties)』のスピンオフとして執筆された『Joe Celko's Trees and Hierarchies in SQL for Smarties, 2nd Edition』の日本語版です。本書では、現場で実務経験のあるエンジニアを対象として、リレーショナルデータベース(RDB)とSQLを使って木と階層構造を扱うための方法論と実践ノウハウを詳しく解説します。
SQLで木と階層構造を扱うには、そのベースとなる数学理論と、RDBでの具体的な実装方法をきちんと理解しなければなりません。本書では、RDBとSQLで木と階層構造を効率的に扱うにはどのようなデータモデルが最適であるか、さまざまなモデルを検討しながら習得していきます。単なるTips集ではなく、グラフ理論の背景にまで踏み込んで理解することで、高い応用力を身につけることが可能です。
翻訳と監修は『達人に学ぶSQL徹底指南書』『プログラマのためのSQL 第4版』でおなじみのミック氏が担当。日本語版では、巻末付録として、入れ子集合モデルについての理論的な参考情報や実用例の解説を追加(ミック氏執筆)。SQLを扱うエンジニア必携の一冊です。
感想・レビュー・書評
-
斜め読みした。
RDBでグラフ理論で言う木構造を扱う方法が詳細に書かれている。方法は3つ。
* 隣接リストモデル
* 経路列挙モデル
* 入れ子集合モデル
入れ子集合モデルはなるほどと思わされた。
注意点として、本書の内容は木構造に特化しており、一般のグラフは扱えない。また、本書の付録にも書かれているが、グラフ構造を扱うならNeo4jのようなグラフデータベースを使う事も視野にいれたい。詳細をみるコメント0件をすべて表示 -
SQLをグラフ理論の考え方に基づいて使っていく、という指南書。
-
RDBMS上でグラフを扱うためのやり方をまとめた本だが、いまいち実用性の利点が説明できないと感じる本でした。
特にNoSQLやNewSQLが台頭してた現在(2022/05/14)において、グラフ構造をわざわざSQL(おそらく大多数はMySQLやMariaDBを想定していたと思いますが)で実装するのはデメリットのほうが多いように感じたため、必要にならない限りあまり読まなくても良い本のように感じました。