アンチパターンなどを使わずにツリー構造(ネストされたコメントのような)を格納できるDBはありますか?
LDAPは1つだと思いますが、他にもありますか?どのデータベースにツリーを格納できますか?
私は子供にもインデックスを付けることができる必要があります。あるノードから別のノードにブランチを移動させ、読み込み+書式を速くすることが簡単に必要です。
私は他の同様の質問を見ました。これらの問題(私にとっては)は、どのDBを使用すべきか尋ねるうちに、db XXXで最も効率的な方法を教えています。
アンチパターンなどを使わずにツリー構造(ネストされたコメントのような)を格納できるDBはありますか?
LDAPは1つだと思いますが、他にもありますか?どのデータベースにツリーを格納できますか?
私は子供にもインデックスを付けることができる必要があります。あるノードから別のノードにブランチを移動させ、読み込み+書式を速くすることが簡単に必要です。
私は他の同様の質問を見ました。これらの問題(私にとっては)は、どのDBを使用すべきか尋ねるうちに、db XXXで最も効率的な方法を教えています。
ツリーが非常に深い場合、リレーショナルデータベースはこれには最適ではありません。グラフやオブジェクトデータベースをお勧めします。
「コメントを保存していますか?次のブログや記事のように?そうだとすれば、それほど深刻ではないと思います。 10レベルのコメントツリーは例外的です。
その場合には、外部キーを使用して、単純なリレーショナル親/子関係が十分であろう:
CREATE TABLE IF NOT EXISTS article
(
article_id integer not null auto_increment,
comment_id integer,
primary key(article_id),
constraint fk_comment foreign key(comment_id) references article(article_id) on delete cascade on update cascade
);
:-Dそれをチェックしてください。http://www.tapuz.co.il/Forums2008/ViewMsg.aspx?ForumId=308&MessageId=157872690 10に制限されたことを願います。これは、多くの中から1つのメインポストです... –
リレーショナルデータベースが機能しないことはご存じですか?それができなくなるまで試してから、グラフデータベースのようなものに切り替えてください。 XMLも階層的です。 – duffymo
それは動作します、ちょうどそれが遅すぎます。 –
「リレーショナルデータベース」はもちろん、「テーブル」(2-Dの関係)を重視しています。
RDBMSベンダーの中には、さまざまな選択肢があります。主要なRDBMS製品のほとんど(MSを
より一般的には、たとえば、DB2は、 "階層構造" を持っている、とOracleは、 "階層問合せ" ありSql Server、IBM DB2、Oracle)はすべてXML対応になっています。これにより、構造化データを操作するための、より強固でポータブルなアプローチが提供されます。
もちろん、非RDBMSベンダーの中には、非リレーショナルデータ(ツリーなど)を扱うための代替手段があります。これに対応して、ポータビリティが低下します。アプリケーションを別のデータベースに簡単に移行することを妨げないように、自分自身を1つの「非SQLデータベース」にロックすることがよくあります。
BOTTOM LINE:
あなたリレーショナルデータベースとの缶使用XMLであれば、それはおそらくあなたの最良の選択肢です。ここではいくつかの良いリンクです:
http://www.techrepublic.com/article/shred-xml-data-with-xquery-in-sql-server-2005/6140404
http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb_xquery.htm
「ホープこと助けて!
ほとんどのドキュメントデータベースはこれに対応していませんか?代わりに、グラフデータベースを見てください – Oded
@Oded - 今日私はMongoDBを研究しました、それはないと思われますhttp://stackoverflow.com/questions/8547886/can-a-mongodb-collection-have-inside-it-another-collection I他の人が同じであると仮定します。もしあなたがそれを知っていれば、その名前を投稿してください。 –
RavenDBとNeo4Jを見てください。私は「反パターンやそのようなものを使わない」というのは、非常に抽象的であることを意味していません。 – Oded