OODB と RDB ではデータ設計自体が異なる。RDB では親が複数の子を持つことができず、
それぞれの子が親へのポインタを持たざるを得ない。たとえば、伝票ヘッダと
伝票明細が 1:N の関係であるとき、伝票ヘッダには、従属する伝票明細へのポインタを
持たせることができず、伝票明細に親である伝票ヘッダの主キー(伝票番号)を持たせる、
という構造になる。そして、伝票ヘッダ(伝票番号=123)の明細を取得しようと思ったときに、
伝票番号=123 を持つ伝票明細を検索することで、親から子を辿ったのと同じ結果を得る。
これは、データを横断的に検索できるという RDB-SQL の特性を利用してはいるが、
本来の横断的なデータベース検索とは本質的に異なる。
親が子の情報を持てないために、検索機能を利用しているだけで、
2004/08/01〜2004/08/31 の伝票明細を検索するなどの横断的検索とは違うのである。

これが、オブジェクト指向になると、もっと直感的に設計ができる。
つまり、親に子の情報を持たせることができる。コレクションなり配列なりを
使用することによって。

オブジェクト指向(言語)では、現実の事象をオブジェクトとしてモデリングすることを
身上としている。これは非常に直感的で分かりやすい構造を維持できるからだ。
対して、RDB では利用方法を想定して、非直感的な設計を余儀なくされることがある。
上記の子に親のポインタを持たせるというのは、そうしないと辿れなくなってしまうから、
そうしているのであって、現実の事象を直接的にモデル化しているとは言いがたい。