Przeskocz do zawartości głównej

Hierarchie

NA TEJ STRONIE

Hierarchie

Niezrównoważone hierarchie n-poziomowe często występują w danych na przykład jako reprezentacje organizacyjnych lub geograficznych wymiarów w danych. Hierarchie tego typu są zazwyczaj zapisywane w postaci tabeli węzłów sąsiadujących, w której każdy rekord odpowiada jednemu węzłowi, a jedno z pól stanowi odniesienie do węzła macierzystego.

Example adjacent nodes table, with NodeID, ParentNodeID, and Title headings

W takiej tabeli każdy węzeł jest zapisany tylko w jednym rekordzie, ale mimo to może mieć dowolną liczbę węzłów potomnych. Tabela może oczywiście zawierać dodatkowe pola opisujące atrybuty węzłów.

Tabela węzłów sąsiadujących jest optymalną strukturą z punktu widzenia utrzymania danych, ale korzystanie z niej jest niewygodne. Na potrzeby zapytań i analiz używane są inne reprezentacje. Często stosowaną reprezentacją jest tabela rozwiniętych węzłów, w której każdy poziom hierarchii jest zapisany w odrębnym polu. Poszczególnych poziomów tabeli węzłów sąsiadujących można w prosty sposób używać na przykład w ramach struktury drzewiastej. Aby przekształcić tabelę węzłów sąsiadujących w tabelę węzłów rozwiniętych, należy użyć w skrypcie ładowania słowa kluczowego hierarchy.

Example:  

Hierarchy (NodeID, ParentNodeID, Title, 'Manager') LOAD NodeID, ParentNodeID, Title FROM 'hierarchy.txt' (txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Example expanded nodes table, with NodeID, ParentNodeID, and multiple hierarchical Title headings

Tabela węzłów rozwiniętych jest jednak niewygodna w przypadku używania pól poziomów w wyszukiwaniach i selekcjach, gdyż konieczna jest wcześniejsza znajomość poziomu, którego będzie dotyczyć wyszukiwanie lub selekcja. Problem ten rozwiązuje jeszcze inna reprezentacja — tabela węzłów macierzystych. Inna nazwa tej reprezentacji to tabela pomostowa.

Tabela węzłów macierzystych zawiera jeden rekord dla każdej występującej w danych relacji potomny-macierzysty. Znajdują się w niej klucze i nazwy elementów potomnych i macierzystych. Oznacza to, że każdy rekord wskazuje węzeł macierzysty danego węzła. Aby przekształcić tabelę węzłów sąsiadujących w tabelę węzłów macierzystych, należy w skrypcie ładowania użyć słowa kluczowego hierarchybelongsto.

See also

 

Join the Analytics Modernization Program

Modernize by leveraging your QlikView investment to begin using Qlik Sense on the Cloud.

Want to know more?
Remove banner from view