Ik gebruik graag het Materialized Path methode, omdat het in wezen je broodkruimelspoor bevat en het gemakkelijk maakt om dingen te doen zoals alle nakomelingen van een knooppunt selecteren zonder recursieve zoekopdrachten te gebruiken.
Gematerialiseerd padmodel
Het idee van het gematerialiseerde padmodel is om elk knooppunt in de hiërarchie te koppelen aan zijn positie in de boom. Dit wordt gedaan met een aaneengeschakelde lijst van alle voorouders van de knooppunten. Deze lijst wordt meestal opgeslagen in een reeks met scheidingstekens. Let op het veld "Linage" hieronder.
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
De tafel oversteken
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;
Vermelding
Home
-product
–CD’s
–LP’s
-Artists
–Genre
—R&B
—Rock
-About Us