2012-04-28 22 views
0

私はeコマースウェブサイト用のデータベースを作成していますが、ツリー構造のような製品カテゴリのデータベーススキーマに問題があります。商品カテゴリの木構造データベーススキーマ

ベンダーは、一つ以上のサブカテゴリーを持つことができる1つまたは複数のカテゴリとカテゴリーを持つことができる1つまたは複数の部署や部門に属することができます。等々またはサブカテゴリー(カテゴリーが不明の場合)同様にサブカテゴリーがその子に等々...

製品は..ベンダー(部署が不明の場合)、または部門に

をマップする必要がありますしていることができます

この種の複雑な関係データベースを実行する最良の方法は何でしょうか。

+0

"最高の" 何を意味するのでしょうか?最も簡単に保存することができます。 –

+0

xml形式で可能な完全な階層構造を得るためにクエリを高速化することを意味します@StephaniePage – Jemsworld

答えて

0

ねえ、あなたは単一のテーブルでこれを行うことができます。あなたが全体を理解することができる以上のことから

ID PARENT_ID NAME 
------------------------------ 
1 0   vendor1 
2 0   vendor2 
3 1   department11 
4 1   department12 
5 2   department21  
6 3   category11 
7 6   subcategory11 

...

+0

これは非常に単純な解決方法です。xml(MS SQL)のツリー構造を与えるためにクエリを実行するにはどうすればよいですか。 – Jemsworld

+0

これは階層テーブル構造を実現する最善の方法ですか、それを行うにはより良い方法ですか?節約部分はこの構造では簡単ですが、取得中にサブカテゴリー11のベンダーを知るために複数のクエリーを書く必要があります。上の各レベルをクエリーする必要があります。 – Jemsworld

+0

クエリはこれに関連する可能性があります... 'テーブルを作成するYOUR_TABLE(ID int(20)主キー、parent_id int(20)参照YOUR_TABLE(ID)、名前varchar2(100)); はい、これはツリー構造のDB構造の場合に最も好きな構造です。 – Ketan

関連する問題