Jag gillar att använda Materialized Path metod, eftersom den i huvudsak innehåller din brödsmula-spår och gör det enkelt att göra saker som att välja alla avkomlingar till en nod utan att använda rekursiva frågor.
Materialiserad sökvägsmodell
Tanken med den materialiserade sökvägsmodellen är att länka varje nod i hierarkin med dess position i trädet. Detta görs med en sammanfogad lista över alla nodernas förfäder. Denna lista lagras vanligtvis i en avgränsad sträng. Notera fältet "Linage" nedan.
CAT_ID NAME CAT_PARENT Lineage
1 Home .
2 product 1 .1
3 CD’s 2 .1.2
4 LP’s 2 .1.2
5 Artists 1 .1
6 Genre 5 .1. 5
7 R&B 6 .1. 5.6
8 Rock 6 .1. 5.6
9 About Us 1 .1
Gå igenom tabellen
Select lpad('-',length(t1.lineage))||t1.name listing
From category t1, category t2
Where t1.lineage like t2.lineage ||'%'
And t2.name = 'Home';
Order by t1.lineage;
Lista
Home
-product
–CD’s
–LP’s
-Artists
–Genre
—R&B
—Rock
-About Us