0

私はかなり長い間インターネットを検索してきましたが、役に立ちませんでした。ツリー構造やグラフを簡単に保存および取得できるデータベースを探しています。差し迫った必要性からではなく、私はそのような構造を数回実装しており、本当にこれを何度も繰り返さなければならないのだろうか....

理想的には、そのような DBMS は次のようなステートメントをサポートします: (PSEUDO SQL)

CREATE TREE tree1;

INSERT NODE n1 INTO tree1.ROOT VALUES ('a', 'c')
INSERT NODE n2 INTO tree1.n1 VALUES ('b', 'c')
SELECT CHILDREN FROM tree1 WHERE n1 IS PARENT
SELECT PARENTS FROM tree1 WHERE n2 IS CHILD

これが何を意味するのかは明らかだと思います。NODE は任意のデータ構造を持つことができます...

リレーショナル データベースでツリーまたはグラフ構造を複製する方法がいくつかあることは知っていますが、そのような一般的なデータ構造に特化したデータベース システムがないのはなぜでしょうか? それとも私はそれを逃しましたか?

これまでのところ、非常に興味深いように見えるneo4jを見つけましたが、特殊なツリー構文はないようです。一方、ドキュメント指向データベースはデータを階層的に格納しますが、子や親の取得などの操作は簡単に実装できません。

私が考えていることに最も近いのは、Javascript/jQuery DOM 操作です。パス、クエリ クラス、ID、および属性でナビゲートし、子と親を簡単に取得/作成できます。しかし、これはデータベース システムではありません。

ツリー構造に最適なデータベース システムを教えてください。これまで、私はリレーショナル データベースにしか取り組んできませんでした。

4

1 に答える 1

0

XML データベースをチェックアウトしましたか? これらは、X-path 式を使用して照会できます。

しかし、私が見たデータベースのほとんどのツリーデータ構造は、多くのクライアント側の処理を使用しています。したがって、複雑なクエリを作成する代わりに、ツリーをたどる再帰関数を使用してデータベースにクエリを実行します。SQL のバックグラウンドがある場合、これは珍しいことかもしれませんが、非常に効率的です。

これはどの NoSQL データベースでも実行できますが、neo4J では特に簡単に実行できます。

于 2013-03-25T12:13:52.637 に答える