1. ホーム >
  2. 書籍 >
  3. プログラマのためのSQLグラフ原論 リレーショナルデータベースで木と階層構造を扱うために

プログラマのためのSQLグラフ原論 リレーショナルデータベースで木と階層構造を扱うために

監訳

形式:
書籍
発売日:
ISBN:
9784798144573
価格:
本体3,600円+税
仕様:
B5変・336ページ
分類:
データベース

本書籍の他の形式を確認する

  • このエントリーをはてなブックマークに追加

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を扱うエンジニア必携の一冊です。


第1章 グラフ、木、階層
第2章 隣接リストモデル
第3章 経路列挙モデル
第4章 入れ子集合モデル
第5章 頻繁に挿入が行なわれる木
第6章 入れ子集合モデルの線形バージョン
第7章 二分木
第8章 木を表現するその他のモデル
第9章 木を扱うための実装依存の拡張
第10章 データモデリングにおける階層
第11章 階層を持ったコード体系
第12章 SQLにおけるグラフ
第13章 ペトリネット
第14章 状態遷移グラフ
第15章 階層型データベース(IMS)
付録 訳者による解説──ミック
ダウンロードファイルは、まだ公開されておりません。今しばらくお待ちくださいますようお願い申し上げます。

書籍への問い合わせ

正誤表、追加情報をご確認の上、こちらよりお問い合わせください

書影の利用許諾について

本書籍に関する利用許諾申請はこちらになります

追加情報はありません。

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

書籍・SEshop限定PDF:ご購入刷数  電子書籍 最終更新日:2016年09月13日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 020
コードの3つ目 1~2行目
CREATE VIEW Personnel_OrgChart (emp_nbr, emp_name, boss_emp_nbr, boss_emp_name)
CREATE VIEW Personnel_OrgChart (emp_nbr, emp_name, boss_emp_name)
2016.09.13
1刷 024
コードの2つ目 最終行
CHECK NOT (emp_name IS NULL AND boss_emp_name IS NULL)));
CHECK (NOT (emp_name IS NULL AND boss_emp_name IS NULL)));
2016.09.13
1刷 052
「バージョン3」のコード 1~7行目
SELECT SUBSTRING('/' || P1.path_string || '/'          FROM S1.seq +1          FOR CharIndex('/', '/' || P1.path_string || '/', S1.seq +1)                 - S1.seq - 1) AS node  FROM Series AS S1, Personnel_OrgChart AS P1 WHERE SUBSTRING('/' || P1.path_string || '/' FROM S1.seq FOR 1) = '/'  AND seq < CHAR_LENGTH('/' || P1.path_string || '/');
上記部分を削除します。
2016.09.13
1刷 077
コードの2つ目 4行目、コードの下の文章 1~2行目
コード4行目 AND :n = (SELECT COUNT(S2.lft) - 1 文章 1~2行目 ここでは、親を除外するためにCOUNT関数の結果から1を引いている点に注意してほしい。
コード4行目 AND :n = (SELECT COUNT(S2.lft) 文章 1~2行目 上記内容を削除します。
2016.09.13
1刷 144
「ステップ3」の説明文 1行目
shift列の値が
traversal_nbr列の値が
2016.09.13
1刷 149
1行目
しかも、他のノードの座標を一切動かす必要ない。
しかも、他のノードの座標を一切動かす必要ない。
2016.09.13
1刷 251
「11.4 商品のカテゴリ」コードの1つ目 4行目
product_categories CHAR (3) NOT NULL
product_category CHAR (3) NOT NULL
2016.09.13

関連情報

関連書籍