本当に私の質問は、oodb でネストされたデータ構造を使用する場合、db の他のインスタンス内にクラスのインスタンスを配置するか、または何らかのリレーショナル マッピングが必要になるかということです。
私は 1 年ほど前から OODB (オブジェクト指向データベース) に興味を持っています。私は本質的に Web/アプリケーション開発者であり、MS T-SQL や MySQL などのリレーショナル モデルで Web サイト階層などの複雑な階層構造を表現することの複雑さとパフォーマンスの両方の点で深刻な制限があることにしばらくの間気づいていました。
簡単なJava(疑似コード)の例を提示するには:-
クラス/DB タイプ:
public class PageObject{
public String title = "";
public String shortname = "";
public boolean published = false;
public PageObject[] pages = null;
public PageObject() {}
}
したがって、ページ配列 (またはベクター、コレクションなど) に同じクラスの他のインスタンスを保持できるこのクラスから始めた場合、最終的にはサイト レイアウトをそのまま持つ可能性が生じる可能性があります。
- 家
- ファースト・ホーム・チャイルド
- 1
- 2
- 3
- セカンドホームチャイルド
- サードホームチャイルド
- ファースト・ホーム・チャイルド
これを見ると、ホームアイテムのページコレクションに3 つのアイテムが格納されており、このコレクション内の最初のホーム チャイルドアイテムが独自のページコレクションにさらに 3 つのアイテムを持っていることがわかります。
この構造を DB4O (またはその他の OODB) に格納すると、データベースが大幅に拡大すると仮定すると、ホームページなどのトップ レベル オブジェクトを呼び出すと、その下にあるすべてのアイテムも返されるという点で、パフォーマンスの面で問題が発生します。 ?
この質問は非常に主観的に見えるかもしれませんが、事前にお詫び申し上げますが、リレーショナル モデルから頭を捻り出すことができないようです。コードでさらに作業します。
この段階では、誰でもこれについて明確にすることができれば、非常に高く評価されます。どんな考えでも事前に乾杯!