yukiです。ダイエットを始めて3kg減ったと思ったら、風邪を引いて見事に1kg増量。 運動しないと駄目ですね。あと残り20kg、道のりは遠いです。 さて今回は、「RDBで階層構造を扱うには?」です。 あるサイトを構築中に階層構造をもったカテゴリ構造にすることになり、どのようにDBで扱うか悩みました。 DBはMySQLを採用していたので、この時点でぱっと頭に浮かんだ選択肢は以下のようなものでした。 XML-DBを利用する 親カテゴリレコードのプライマリIDを子カテゴリレコードに持たせる 親を含めた『絶対パ... > このページを見る
最終更新時間:
2009年06月24日17時57分
このエントリーに含まれている商品
WEB+DB PRESS Vol.49
-
定価: ¥ 1,554価格表示について価格は、記載された日付/時刻の時点において正確です。価格は変更される場合があります。購入時にAmazonウェブサイトに表示されている価格が、その商品の販売に適用されます。
-
- 出版社/メーカー:技術評論社(大型本)
- 発売日:2009/02/23
- Amazon.co.jp 商品ランキング:272,616 位
みんなのブックマーク 人気(0) 新着
- 階層構造 tree
- 階層構造 ツリー
- わかりやすい。
- 階層構造
- RDBで階層構造を扱うには?
- 後で読む.range によって階層構造を扱う感じ.
- wakariyasui
- ORDPATHって書こうとしたらすでに出ていた。
- 勉強不足で「(2)の親ID格納の実装は…取り出し時のクエリが何回も…」と「ノード追加時に更新が発生する」あるいは「小数値を利用」の長短が判断つきかねるが。あと兄弟関係表すのにもう1カラム要。
- tree構造。コレ、面白いんだけどRDBMSでやる有効性はあんまないんだっけ。
- 単に階層を表現するだけでよいなら、ORDPATHを薦めたい。
- Oracle なら start with connect by / Insertのパフォーマンスに影響しない方法を調べる必要あり
- 氏と同じくまっさきに浮かんだのは親情報持たせた木の構成.ここでは左右値を持たせて左値行きがけ右値帰りがけに与えてる.左値同士右値同士比較で親子関係が知れる.左右値で子孫数の計算ができる.Insert効率改善可
- 入れ子集合モデル
- なるほどー
- 只今ほろ酔い中
- ジョジョ一家データ化
- なるほど。問題も多いけどおもしろい
- 参考
- 取る数が同じなら、子孫より兄弟を取る方が性能に響く筈。子孫を取るのは、O(子孫の数+log n)のクエリ1回。兄弟だと、自身のright_id+1のleft_idを持つノードを探すクエリを自分+兄弟の数実行するから、O((自分+兄弟) *log n)。







![[ウィーズウット] WeedsWood WWM-0001 WWM-0001 RDB (レッドブラウン/UK7.5)](http://ecx.images-amazon.com/images/I/411Kb1mt58L._SL75_.jpg)


