タグ

2009年3月25日のブックマーク (1件)

  • [ThinkIT] 第5回:教科書的ではなく、現場にあったデータベース設計のコツ (2/3)

    再起型の検索方法を解決するために考えられたのが、「祖先をすべてパス情報として持つパス方式」です。図3はパス方式のエンティティです。図2の「親カテゴリ番号」の代わりに「カテゴリ番号パス」というアトリビュートを文字列型で用意しています。 表3はパス方式のデータ例です。この方式は該当項目の親だけでなく、階層トップから自分に至るまでのカテゴリ関連をパスの形で持っているのが特徴です。図3ではパスの連結記号に「~(チルダ)」を使っていますが、「\」を使ってもかまいません。 この方式のメリットは再帰検索にならないことです。例えば、表2のように「パソコン(カテゴリ番号011)関連の商品の売上合計を求める」という命題があった場合、表3のような条件で1回の指定で対象カテゴリデータを抽出できます。階層がどんなに深くても一発で検索できる便利な方式なので、階層構造のテーブル設計時に試してみてください。

    satau16
    satau16 2009/03/25
    階層構造 パス方式 カテゴリを移動させるとき大変かも