IT-lexikon › Databas › Nested set

Nested set

Databas In English → Uppdaterad: 2026-05-29

En trädmodell där varje nod får två tal — ett vänster- och ett högervärde — som tilldelas genom att "gå runt" trädet. Underträd blir då ett enkelt intervall: en nods alla ättlingar har vänster/höger-värden inom nodens egna. Snabba läsningar, dyra ändringar.

Mekanik: man traverserar trädet i preorder och numrerar varje nod när man "går ned" (left) och "går upp" (right). Vinst: "hämta hela underträdet" blir WHERE lft BETWEEN node.lft AND node.rgt — en enda snabb intervallfråga utan rekursion, och man kan räkna ättlingar med ren aritmetik. Pris: att sätta in eller flytta en nod kräver att man numrerar om stora delar av trädet (alla noder med högre värden måste skiftas) → mycket dyrt vid frekventa ändringar. Bäst för läsintensiva, sällan ändrade hierarkier (kategoriträd i en butik). Mer komplex än adjacency list men snabbare för underträds-läsning. Closure table ger en mellanväg. Hör ihop med materialized path och closure table.

← Tillbaka till lexikonet