ヤフーディレクトリのようなディレクトリ構造をPostgreSQL等のデータベースでうまく管理する方法を教えてください。

現在は「プライマリーキー,自ディレクトリ名,親ディレクトリプライマリーキー」としています。
このやり方だと、ディレクトリの移動などには柔軟に対応できるのですが、親ディレクトリをたどるときに、親ディレクトリの数だけデータベースにアクセスしなければなりません。
また、以下のように、自ディレクトリ名(Spitz)が同じリクエストが来た場合、その親ディレクトリをチェックして、どちらのリクエストかを判断しなければいけないという手間もかかります。(リクエストはプライマリーキーではなくディレクトリ名で来るので)
/Music/Genres/J_POP/Artists/Spitz/
/Dogs/Breeds/Spitz/

全てのフルパスを生成(もしくは静的ファイルを生成)してしまえば、データベースにアクセスする回数は抑えられそうですが、あまりスマートとは言えないやり方なので、もう少し良い方法があればお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/01/24 22:24:06
  • 終了:--

回答(1件)

id:junkitch No.1

junkitch回答回数40ベストアンサー獲得回数02006/01/25 04:59:02

ポイント50pt

RDBの限界のようで、XMLDBのようなDBを使わない限り、

根本的な解決法はないでしょう。

http://ml.postgresql.jp/pipermail/pgsql-jp/2004-April/007791.htm...

[pgsql-jp: 32649] ツリー状のデータの取り扱い

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません