Trei moduri de a obține un copac director elemente ierarhice

Considerăm aplicabilitatea și dezavantajele acestor metode de obținere a lemnului
1) Cererea pentru utilizarea rezultatelor ierarhiei
2) Formarea probei arbore parcurgeri cu comanda ierarhiei
3) Formarea ierarhiei elementelor în lista de închidere tranzitiv

1) Ideea este simplă - selectați elementele de interogare care nu sunt directoare, și întreaga ierarhie vom construi o interogare. Apoi, începe imediat surprize. Ce structură de a utiliza: ierarhie, sau numai de către ierarhia? Pare logic numai de ierarhie, deoarece rezultatele la nivel de element nu trebuie (să fie duplicate). Uită-te în Întrebări frecvente: .. „IERARHIA Ca urmare, rezultatele punctelor de control și rezultatele ierarhiei vor fi calculate pentru punctele de încercare Dacă este necesar, putem calcula rezultatele numai în ierarhia valorilor, fără a calcula rezultatele punctelor de control pentru acest lucru înainte de Ierarhia cuvintelor cheie trebuie să specificați cuvântul cheie. NUMAI. "

Pentru o înțelegere clară a explicația mea, voi da câteva „termeni“, pe care le voi folosi. Toate frunzele copacului vor chema elemente. noduri de arbore care conțin numai elementele - folderele inferioare nodurile care conțin cel puțin un dosar inferior rămase - directorul superior.

Pentru ierarhia - totul este logic: analiza rezultatelor unei ierarhii arbore de directoare. Toate dosarele de tip - TipZapisiZaprosa.ItogPoIerarhii. În elementele de tip - TipZapisiZaprosa.ItogPoGruppirovke. În interiorul grupului de o intrare din același element, dar cu tipul de TipZapisiZaprosa.DetalnayaZapis. Tot după cum se menționează. Dar, dacă este descărcat într-un copac, dispare dublu!

Fie formează manual

Pentru toate TOLKOIERARHIYA un pic greșit, cum era de așteptat. Top dosar - TipZapisiZaprosa.ItogPoIerarhii, mai mici - TipZapisiZaprosa.ItogPoGruppirovke. Elementele interioare ale tipului - TipZapisiZaprosa.DetalnayaZapis. Dar dacă dosarul conține elemente de sus, acestea vor fi plasate în partea din spate într-un grup imbricate cu tipul de TipZapisiZaprosa.ItogPoGruppirovke. Prin urmare, descărcarea () conduce la dublarea! Scopul acestei duplicare cred că la toate elementele necesare în directorul cu TipZapisiZaprosa.ItogPoGruppirovke, astfel încât să putem obține o ObhodRezultataZaprosa.PoGruppirovkam probă. Prin urmare, dacă utilizați numai de ierarhie. mai bine pentru a trece proba și forma mânere un copac, evitând suprapunerile. Trecând este necesar să se precizeze al doilea parametru „grup“. Aici este ocolind pentru TOLKOIERARHIYA

Dezavantajele acestei metode sunt evidente. Toate dosarele evaluează cererea și nu putem face ceva cu ele. De exemplu, atunci când vă conectați la altă nomenclatură tabel, skleyutsya numai elementele, ci la nivelul folderului sunt disponibile pentru noi numai în rezultatele calculului. problemă de performanță nu este considerată aici.

2) Pentru a rezolva această problemă, trebuie să selectați folderul în interogare. O astfel de solicitare nu ajunge încărcat la copac, dar dacă vom folosi într-o ordine interogare de căutare. Ierarhia, precum și pentru a alege cererea părintelui, atunci traversal de copac va fi ușor, vom obține o probă într-o buclă și cârlig elementul de lângă curent sau unul dintre părinții săi. Cine se va agăța de câmpul părinte selectat.

Luați în considerare problema de a produce numai ierarhia elementelor stabilite. Pentru a rezolva problema la un articol toate dosarele în care acestea sunt conținute, iar apoi se calculează închiderea tuturor părinților acestor dosare, și mai departe de by-pass proba 2 metodă.