Kaj je model ugnezdenega niza?

Model ugnezdenega niza je znan tudi kot modificiran algoritem prehoda drevesa prednaročil in je način shranjevanja hierarhičnih podatkov v relacijskih bazah podatkov. Prednost tega modela je, da zagotavlja zelo hiter dostop in se najbolje izvaja v hierarhijah, v katere se bere pogosteje kot piše. Vsakemu vozlišču v informacijskem modelu sta dodeljeni dve številki, ki sta shranjeni kot atributi. Poizvedovanje po modelu ugnezdenega niza je dokaj enostavno, ker lahko obe vrednosti uporabite za izvlečenje potrebnih podatkov. Vstavljanje, brisanje, premikanje in posodabljanje pa je veliko bolj okorno, ker lahko vključuje preštevilčenje vozlišč.

Model ugnezdenega niza, ki se običajno uporablja za predstavitev ugnezdenih nizov ali hierarhičnih informacij v obliki dreves, je predstavil Joe Celko. Drevo je v tem primeru podatkovna struktura, ki vsebuje številna povezana vozlišča. Na primer, nadrejeno vozlišče se lahko poveže z več podrejenimi vozlišči in ta struktura se ponovi skozi drevo na več ravneh.

Drevesa so odličen način za shranjevanje informacij v določenem vrstnem redu znotraj relacijske baze podatkov, ki je nabor podatkov, ki shranjuje podatke glede na skupne značilnosti. Na primer, informacije o izdelku v oddelku za hrano v trgovini se lahko začnejo s hrano in se razvejajo na sadje, zelenjavo in meso. Sadje lahko nadalje razdelimo na jagode, melone in jabolka, zelenjavo pa na gomolje, zelenjavo in drugo, meso pa na svinjino, ovčje in telečje meso.

Relacijska baza podatkov shranjuje vse te informacije v lahko razumljivi obliki, model ugnezdenega niza pa omogoča učinkovito upravljanje drevesne strukture. V zgornjem primeru bi bilo korensko vozlišče hrana, ki jo predstavljata dve vrednosti. Glede na levo vrednost za hrano kot 1, se drugim predmetom na drevesu dodeli številka na levi po vrstnem redu. Sadje bi na levi dobilo vrednost 2, jagode 3 itd. Vrednosti se nato dodelijo na desni strani, delujejo vseskozi drevo, od spodaj navzgor, skozi vsako vejo, dokler se zadnja vrednost ne dodeli hrani na desni strani.

Vsak element v drevesu se konča z dvema vrednostma, recimo lft za levo in rgt za desno, ki ju lahko uporabite za identifikacijo in označevanje njihovega razmerja z drugimi elementi. Na primer, če imajo plodovi vrednost 2 in 15, potem so vsa vozlišča, ki imajo levo vrednost večjo od 2 in desno manjšo od 15, potomci sadnega drevesa 2–15. Informacije o vseh sadežih je enostavno izvleči naenkrat, saj je te vrednosti mogoče podati v eni poizvedbi v zbirko podatkov.

Ta model je odličen za shranjevanje informacij, do katerih se pogosto dostopa, vendar postanejo vstavljanje, brisanje in preureditev informacij v modelu ugnezdenega niza zelo dolgočasno. Prepisovanje indeksov in preštevilčenje informacij lahko povzroči zrušitev baze podatkov, še posebej, če drevo naraste in vključuje na stotine tisoč vozlišč. Model ugnezdenega niza je najboljši za lahke sisteme za upravljanje vsebine, ki imajo minimalne vstavke in spremembe. V ugnezdenem intervalnem modelu je mogoče vstavitve narediti veliko hitreje, ker shrani položaj vsakega vozlišča v drevesu z uporabo decimalk s plavajočo vejico, hkrati pa kodira informacije o poti.