The document discusses various models for storing and querying hierarchical data using SQL and PHP, highlighting the challenges associated with managing comments in threaded discussions. It details solutions like adjacency lists, path enumeration, nested sets, and closure tables, providing examples of their implementation. Each method has its own strengths and limitations when handling hierarchica
ツリー構造データとRDB ツリー構造データをリレーショナルデータベース(RDB) で扱う場合、以下の4つのモデルが知られていました。 隣接リストモデル (Adjacency List Model) 経路列挙モデル (Path Enumeration Model) 入れ子集合モデル (Nested Sets Model) 入れ子区間モデル (Nested Intervals Model) 閉包テーブルモデル (Closure Table Model) 入れ子集合モデルは、現時点では多くのフレームワークで採用されていて、便利なライブラリが多数のデベロッパーによって開発されています。 第五のモデル Fertile Forest Model (肥沃な森林モデル)は、新しい発想で設計された、第五のモデルです。従来のモデルよりも、次の点で優れています。 ツリー構造データのために追加されるデータ量のコス
社内勉強会資料 追記: 2013-10-31 ついったで指摘( https://twitter.com/akuraru/status/395822183777202176 )を受けたので入れ子集合のノード追加の説明の所を修正しました。
今回のエントリは以前かいた SQL のアンチパターン「ナイーブツリー」に関する記事の続き。 blog.amedama.jp 再帰クエリをサポートしていない RDBMS で再帰的な構造を表現するための解決策のひとつ経路列挙モデルを扱う。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.4 BuildVersion: 15E65 $ mysql --version mysql Ver 14.14 Distrib 5.7.12, for osx10.11 (x86_64) using EditLine wrapper 下準備 まずは下準備として MySQL にデータベースを作るところまで。 今回使ったのは Mac OS X なので MySQL は Homebrew でインストールする。 $ brew instal
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く