玉木の暇つぶし

更新不定期の暇つぶし
某岡田君と更新回数の少なさを競うブログ

データモデリング ~非正規化と階層構造をもつデータの保持~

2006-04-24 19:15:35 | IT

 データベースを設計する際に必ずといっていいほど悩む「どこまで非正規化するか?」と「階層構造を持つデータ(カテゴリ等)をどのような構造で保持するか」について書かれています。

 http://www.thinkit.co.jp/free/tech/31/5/

 階層構造を持つデータ(カテゴリ等)を保持する構造として、「そのデータが属する親データのキーを保持する」という方法では階層が深い場合、検索が再帰的になり大きなパフォーマンスの劣化をもたらしてしまいます。そこでキーを保持するのではなく、「最上位からのキーのパスを保持する」というのはとても興味深いアイディアです。
 ただ、この場合キーを検索する場合、前方一致ではないあいまい検索にする必要が出てきてしまいますので、PostgreSQLの場合インデックスが効きません。大量のデータを扱う場合は階層の深さに応じてパフォーマンスを検証する必要が出てきそうですね。


最新の画像もっと見る