アプリ版:「スタンプのみでお礼する」機能のリリースについて

教えて下さい。

MYSQLではORACLEのように、階層構造を検索するような"CONNECT BY" という
コマンドは存在しないのでしょうか???

存在しない場合、何か他の方法で階層の上限関係を検索する方法はないでしょうか。。。

教えて下さい。

よろしくお願いします。

A 回答 (2件)

木構造解析の仕組みはMySQLにはありません


(私が知らないだけかもしれません、あしからず)

いままで何度か同様の質問がでており大きくは3つの方法があります
詳しくは解説サイトなどをググってください

(1)隣接リストモデル [Adjacency List Model]
おやの情報だけ持っておく、全体をみるためには階層の底までjoinする
効率は悪いが、構造が単純でデータの追加や構造の付け替えなどが楽

(2)入れ子集合モデル [Nested Set Model]
専用の入れ子形式をつかう、階層情報を見るのは最適ですが
データの追加など軽微な変更でも大幅な改修が必要
※これ単独で管理するのは難しいので(1)から必要におうじて作成するのが現実的

(3)経路列挙モデル [Path Emuneration Model]
(もしくは、経路実体化モデル [Materialized Path Model])
経路を羅列する、経路の途中を変更すると
適応箇所をこまかく変更する必要がある
    • good
    • 0
この回答へのお礼

yambejp様、ご回答ありがとうございます。

やはり階層構造を補助するような機能はMySQLにはないですよね、、、

教えて頂いた幾つかの方法は、私も検索して知る事ができました。

しかし、私が読み間違えているかもしれませんが、親が複数存在する事は
NGと記載がありました。

私のやりたい事として、部品表のようなものを作成したいと考えている為、
1つの部品があちこちで使われていた場合、親が複数になってしまうもので、、、

教えて頂いた内容でもできるのか?を教えていただければ幸いです。

よろしくお願いします。

お礼日時:2012/04/12 11:37

あ~、なるほど部品の構成表みたいなものを意識しているのですね?


的外れな回答をしてしまいました、申し訳ないです。

その場合だと親に対する子を列記した構成表の中間テーブルを用意して
joinしていくのが妥当でしょうね。
    • good
    • 0
この回答へのお礼

yambejp様、ご回答ありがとうございます。

いえいえ、こちらこそ最初の投稿で部品の構成表と記載するべきでした。

申し訳ありません。

MySQLでは、かなりプログラムで作りこまないと難しいですね!

ありがとうございました!

お礼日時:2012/04/12 15:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!