Обичам да използвам Материализиран път метод, тъй като той по същество съдържа вашата пътека за хляб и улеснява извършването на неща като избор на всички потомци на възел, без да се използват рекурсивни заявки.
Материализиран модел на пътя
Идеята с модела Materialized path е да се свърже всеки възел в йерархията с неговата позиция в дървото. Това се прави с конкатениран списък на всички предшественици на възлите. Този списък обикновено се съхранява в разделен низ. Обърнете внимание на полето „Linage“ по-долу.
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
Преминаване през таблицата
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;
Обява
Home
-product
–CD’s
–LP’s
-Artists
–Genre
—R&B
—Rock
-About Us