Den kapslade uppsättningsmodellen är också känd som den modifierade förbeställningsträdgenomgångsalgoritmen och är ett sätt att lagra hierarkisk data i relationsdatabaser. Denna modell har fördelen att ge mycket snabb åtkomst och implementeras bäst i hierarkier som läses oftare än skrivs till. Varje nod inom informationsmodellen tilldelas två nummer som lagras som attribut. Att fråga efter den kapslade uppsättningsmodellen är ganska lätt eftersom båda värdena kan användas för att dra ut nödvändig data. Att göra infogningar, raderingar, flyttningar och uppdateringar är dock mycket mer besvärligt eftersom de kan innebära omnumrering av noderna.
Vanligtvis används den för att representera kapslade uppsättningar eller hierarkisk information i form av träd, den kapslade uppsättningsmodellen introducerades av Joe Celko. Ett träd, i det här fallet, är en datastruktur som innehåller ett antal länkade noder. Till exempel kan en överordnad nod ansluta till flera underordnade noder, och denna struktur upprepas genom trädet genom flera nivåer.
Träd är ett utmärkt sätt att lagra information i en viss ordning i en relationsdatabas, vilket är en datamängd som lagrar data beroende på gemensamma egenskaper. Till exempel kan produktinformation inom matsektionen i en butik börja med mat, förgrena sig till frukt, grönsaker och kött. Frukter kan vidare delas in i bär, meloner och äpplen och grönsaker i knölar, gröna och andra, och kött i fläsk, fårkött och kalvkött.
En relationsdatabas lagrar all denna information i en lättförståelig form, och en kapslad uppsättningsmodell gör att trädstrukturen kan hanteras effektivt. Med exemplet ovan skulle rotnoden vara mat, som representeras av två värden. Givet det vänstra värdet för mat som 1, tilldelas de andra föremålen i trädet ett nummer till vänster i ordning. Frukter skulle få ett värde av 2 till vänster, bär skulle vara 3, och så vidare. Värdena tilldelas sedan på höger sida och arbetar hela vägen genom trädet, nerifrån och upp, genom varje gren tills det sista värdet tilldelas mat på höger sida.
Varje objekt i trädet slutar med två värden, säg lft för vänster och rgt för höger, som kan användas för att identifiera dem och indikera deras relation till andra objekt. Till exempel, om frukter har värdet 2 och 15, så är alla noder som har vänstervärden större än 2 och högervärden mindre än 15 ättlingar till fruktträdet 2–15. Det blir lätt att dra ut information om alla frukter på en gång eftersom dessa värden kan specificeras i en enda fråga till databasen.
Den här modellen är utmärkt för att lagra information som används ofta, men infogning, borttagning och omordning av information i den kapslade uppsättningsmodellen blir mycket tråkiga. Om du skriver om index och omnumrerar informationen kan databasen krascha, särskilt om trädet växer till att omfatta hundratusentals noder. Den kapslade uppsättningsmodellen är bäst för lätta innehållshanteringssystem som har minimala infogningar och ändringar. Insättningar kan göras mycket snabbare i den kapslade intervallmodellen eftersom den lagrar positionen för varje nod i trädet med hjälp av flyttalsdecimaler samtidigt som väginformationen kodas.