Leksykon IT › Bazy danych › Zbiory zagnieżdżone (nested set)

Zbiory zagnieżdżone (nested set)

Bazy danych Svenska → Zaktualizowano: 2026-10-06

Model drzewa, w którym każdy węzeł dostaje dwie liczby — lewą i prawą — nadawane podczas „obchodu” drzewa. Poddrzewo staje się zwykłym przedziałem: wszyscy potomkowie mają wartości mieszczące się w przedziale węzła. Szybki odczyt, kosztowne zmiany.

Mechanika: drzewo przechodzi się w kolejności preorder i numeruje każdy węzeł przy „zejściu” (lewa) i „wyjściu” (prawa). Zysk: „pobierz całe poddrzewo” to WHERE lft BETWEEN node.lft AND node.rgt — jedno szybkie zapytanie przedziałowe bez rekurencji, a liczbę potomków da się policzyć czystą arytmetyką.

Cena: wstawienie lub przeniesienie węzła wymaga przenumerowania dużej części drzewa, więc przy częstych zmianach jest to bardzo drogie. Najlepsze dla rzadko zmienianych hierarchii nastawionych na odczyt (drzewo kategorii w sklepie). Bardziej złożone niż lista sąsiedztwa, ale szybsze przy odczycie poddrzew; kompromisem bywa closure table.

← Wróć do leksykonu