po prostudovani zakladniho dila k teto problematice (JOE CELKO: SQL FOR SMARTIES: TREES AND HIERARCHIES) jsem nabyl dojmu, ze prave takove problemy jsou konecna stanice SQL a ze je prece jen spravne tyto problemy resit na aplikacni urovni (autor upozornil).
Je sice teoreticky mozne resit hierarchicke problemy za pomoci ruznych triku ale je to asi, jako kdyz za totality lide pasovali satelity ze zapadu v zubnich pastach...
Ano a ne. Pokud si namodelujete entity tak, jak byste je modeloval v např. C, pak to pro SQL je dřina.
Je potřeba si uvědomit, že problém s výkonností nastává v okamžiku použití procedurálního rozšíření jazyka SQL, tj. např. PL/SQL u Oracle. Samotné SQL je VELMI rychlé (neboť jednotlivé enginy mají za sebou poměrně slušnou optimalizaci :-))
Takže si stačí namodelovat entity tak, abybylo možno na jedne select vytáhnout celou větev a máte po problému. Ovšem triviální to není a rozhodně to je náročné na datový objem, tj. paměť (i když si můžeme nadefinovat indexy).