Designfrage
am 15.02.2007 11:27:21 von stefan.glaesserHallo,
ich habe im Moment 2 Tabellen, die wie folgt aussehen:
catId | parentId | catName
--------------------------
1 | NULL | A1
2 | 1 | A2
3 | 1 | A3
4 | 2 | A4
5 | 2 | A5
6 | 2 | A6
7 | 3 | A7
Das ganze sieht als Baum in etwa so aus:
(A1)
/ \
(A2) (A3)
/ | \ \
(A4) (A5) (A6) (A7)
Jeder dieser Knoten kann beliebig viele Blätter haben. Also Tabelle 2:
productId | catId | productName ....
-------------------------------------
1 | 1 | product 1
2 | 1 | product 2
3 | 5 | product 3
4 | 6 | product 4
5 | 6 | product 5
6 | 6 | product 6
7 | 7 | product 7
So, wie bilde ich es jetzt aber in der Datenbank ab, dass ich alle Produkte
unterhalb eines Knotens angezeigt bekomme?
Bsp: Ich "klicke" Knoten A2 an und möchte in diesem Falle die Produkte
3,4,5,6 angezeigt bekommen.
oder: Ich "klicke" Knoten A3 an und möchte in diesem Falle das Produkt 7
angezeigt bekommen.
Wie bilde ich eine solche Konstruktion in der Datenbank ab? Hilfstabelle?
Das ganze sollte dynamisch wachsen können, die Tiefe das Baumes theoretisch
unbegrenzt.
Weiß jemand, wie man das macht?
Gruß,
Stefan