Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Ładowanie danych hierarchii

Niezrównoważone hierarchie n-poziomowe często służą na przykład do reprezentowania w danych wymiarów geograficznych lub organizacyjnych.

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 nadrzędnego.

Tabela węzłów
NodeIDParentNodeIDTytuł
1-General manager
21Region manager
32Branch manager
43Department manager

W takiej tabeli każdy węzeł jest zapisany tylko w jednym rekordzie, ale mimo to może mieć dowolną liczbę węzłów podrzędnych. 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 danych słowa kluczowego hierarchy.

Przykład:  

Hierarchy (NodeID, ParentNodeID, Title, 'Manager') LOAD NodeID, ParentNodeID, Title FROM 'lib://data/hierarchy.txt' (txt, codepage is 1252, embedded labels, delimiter is ',', msq);
Tabela węzłów rozwiniętych
NodeIDParentNodeIDTytułTitle1Title2Title4Title4
1-General managerGeneral manager---
21Region managerGeneral managerRegion manager--
32Branch managerGeneral managerRegion managerBranch manager-
43Department managerGeneral managerRegion managerBranch managerDepartment manager

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 nadrzędnych. Inna nazwa tej reprezentacji to tabela pomostowa.

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

Dowiedz się więcej

 

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!