Mis on pesastatud komplekti mudel?

Pesastatud komplekti mudelit tuntakse ka modifitseeritud eeltellimuse puu läbimise algoritmina ja see on viis hierarhiliste andmete salvestamiseks relatsiooniandmebaasides. Selle mudeli eeliseks on väga kiire juurdepääs ja seda saab kõige paremini rakendada hierarhiates, mida loetakse sagedamini kui kirjutatakse. Igale teabemudeli sõlmele on määratud kaks numbrit, mis salvestatakse atribuutidena. Pesastatud komplekti mudeli päringu esitamine on üsna lihtne, kuna mõlemat väärtust saab kasutada vajalike andmete väljavõtmiseks. Lisamiste, kustutamiste, teisaldamiste ja värskenduste tegemine on aga palju tülikam, kuna see võib hõlmata sõlmede ümber nummerdamist.

Tavaliselt kasutatakse pesastatud komplektide või hierarhilise teabe esitamiseks puude kujul, pesastatud komplekti mudeli tutvustas Joe Celko. Puu on antud juhul andmestruktuur, mis sisaldab mitmeid lingitud sõlme. Näiteks võib vanemsõlm ühenduda mitme alamsõlmega ja seda struktuuri korratakse puu kaudu mitmel tasandil.

Puud on suurepärane viis teabe salvestamiseks kindlas järjekorras relatsiooniandmebaasis, mis on andmekogum, mis salvestab andmeid sõltuvalt ühistest omadustest. Näiteks võib poe toidujaotises olev tooteteave alata toidust, hargnedes puuviljadeks, köögiviljadeks ja lihaks. Puuvilju võib veel jagada marjadeks, meloniteks ja õunteks ning juurviljadeks mugulateks, rohelisteks ja muudeks ning liha sea-, lamba- ja vasikalihaks.

Relatsiooniandmebaas salvestab kogu selle teabe lihtsalt arusaadaval kujul ja pesastatud komplekti mudel võimaldab puustruktuuri tõhusalt hallata. Ülaltoodud näidet kasutades oleks juursõlmeks toit, mida esindab kaks väärtust. Kui toidu vasakpoolne väärtus on 1, omistatakse teistele puus olevatele üksustele järjekorras vasakpoolne number. Puuviljad saaksid vasakul väärtuse 2, marjad 3 jne. Seejärel määratakse väärtused paremale küljele, töötades läbi puu, alt üles, läbi iga oksa, kuni paremal küljel on toidule määratud viimane väärtus.

Igal puu üksusel on kaks väärtust, näiteks lft vasaku ja rgt jaoks, mida saab kasutada nende tuvastamiseks ja nende seose näitamiseks teiste üksustega. Näiteks kui viljade väärtus on 2 ja 15, on kõik sõlmed, mille vasakpoolsed väärtused on suuremad kui 2 ja paremad väärtused alla 15, viljapuu 2–15 järeltulijad. Kõigi puuviljade teabe ühe korraga välja tõmbamine muutub lihtsaks, kuna neid väärtusi saab määrata ühe andmebaasi päringuga.

See mudel sobib suurepäraselt sageli kasutatava teabe salvestamiseks, kuid sisestamine, kustutamine ja teabe ümberjärjestamine pesastatud komplekti mudelis on väga tüütu. Indeksite ümberkirjutamine ja teabe ümber nummerdamine võib põhjustada andmebaasi krahhi, eriti kui puu kasvab sadade tuhandete sõlmedeni. Pesastatud komplekti mudel sobib kõige paremini kergete sisuhaldussüsteemide jaoks, mille sisestusi ja muudatusi on minimaalselt. Sisestusi saab pesastatud intervallimudelis teha palju kiiremini, kuna see salvestab puu iga sõlme asukoha, kasutades ujukoma kümnendkohti, kodeerides samal ajal ka teeteavet.