2012-04-28 67 views
0

我正在爲電子商務網站創建數據庫,但我遇到了類似於樹結構的產品類別的數據庫架構問題。產品類別的樹結構化數據庫模式

一個廠商可以屬於一個或多個部門和可以有一個或多個類別和分類可以有一個或多個子類別。同樣的子類可以對兒童有它等等...

一個產品應該被映射到一個供應商(如部門是未知的)或部門(如類是未知的)或子類別等等..

做這種複雜關係數據庫的最好方法是什麼?

+0

什麼是 「最好的」 是什麼意思?最容易存儲,還是最快查詢? – 2012-04-30 20:34:57

+0

我的意思是查詢速度最快,以XML格式獲得完整的層次結構可能@StephaniePage – Jemsworld 2012-05-01 20:38:25

回答

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 2012-04-28 15:29:29

+0

這是建立等級表結構的最佳方式,還是有更好的方法來做到這一點。在這種結構中,保存部分很容易,但在回顧時,我們需要編寫多個查詢來知道子類別11的供應商,因此我們需要通過查詢頂層的每個級別來查找它。 – Jemsworld 2012-04-29 20:38:15

+0

查詢可能與此有關... 'create table YOUR_TABLE(id int(20)primary key,parent_id int(20)references YOUR_TABLE(id),name varchar2(100));' 是的,這是在樹型數據庫結構的情況下最喜歡的結構。 – Ketan 2012-04-30 05:09:23