Ukládání hierarchických dat do relační databáze

V článku Storing Hierarchical Data in a Database se Gijs Van Tulder zabývá problémem, jak uložit data s hiearachickou ("stromovitou") strukturou do klasické relační databáze (tj. v podstatě do tabulky). Nedávno jsem stejný problém řešil u svého ročníkového projektu a přiznávám, že jsem zůstal u prvního "naivního" algoritmu – ukládat u každé položky odkaz na jejího předka. Vzhledem k tomu, že moje aplikace musela být dimenzována na několik tisíc položek, nakonec jsem tam implementoval speciální cache v podobě souboru, kde se držela celá struktura stromu, aby bylo načítání stromu rychlejší. Kdybych o tomhle článku věděl dřív, a použil algoritmus, který je v něm vysvětlen, mohl jsem si práci navíc ušetřit...