Vad är den kapslade setmodellen?
Den kapslade uppsättningsmodellen är också känd som den modifierade preorder-traversalgoritmen och är ett sätt att lagra hierarkiska data i relationella databaser. Denna modell har fördelen med att ge mycket snabb åtkomst och implementeras bäst i hierarkier som läsas oftare än skrivna till. Varje nod inom informationsmodellen tilldelas två nummer som lagras som attribut. Att fråga den kapslade uppsättningsmodellen är ganska enkelt 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 emellertid mycket mer besvärliga eftersom de kan innebära omnummerering av noderna.
Vanligtvis används för att representera kapslade uppsättningar eller hierarkisk information i form av träd, den kapslade set-modellen introducerades av Joe Celko. Ett träd är i detta fall 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 bra sätt att lagra information i en viss ordning i en relationsdatabas, som är en datauppsättning som lagrar data beroende på vanliga 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 det möjligt att hantera trädstrukturen effektivt. Med hjälp av ovanstående exempel skulle rotnoden vara mat, som representeras av två värden. Med 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. Frukt skulle få ett värde på 2 till vänster, bär skulle vara 3, och så vidare. Värdena tilldelas sedan på höger sida, arbetar hela vägen genom trädet, nerifrån, 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 ange deras förhållande till andra objekt. Till exempel, om frukter har ett värde på 2 och 15, ä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 ta fram information om alla frukter på en gång eftersom dessa värden kan anges i en enda fråga i databasen.
Denna modell är utmärkt för att lagra information som ofta öppnas, men infogningar, raderingar och ombeställning av information i den kapslade setmodellen blir mycket tråkiga. Omskrivning av index och omnummerering av informationen kan leda till att databasen kraschar, särskilt om trädet växer till att inkludera hundratusentals noder. Den kapslade setmodellen ä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 flytpunkts decimaler samtidigt som den kodar sökvägsinformationen.