Skip to main content

Qual è il modello set nidificato?

Il modello set nidificato è anche noto come algoritmo di attraversamento dell'albero di preordine modificato ed è un modo per archiviare i dati gerarchici all'interno di database relazionali.Questo modello ha il vantaggio di fornire un accesso molto rapido ed è meglio implementato nelle gerarchie che vengono lette più frequentemente di quanto scrivete.A ciascun nodo all'interno del modello di informazione viene assegnato due numeri che vengono archiviati come attributi.La query sul modello di set nidificato è abbastanza semplice perché entrambi i valori possono essere utilizzati per estrarre i dati necessari.Fare inserzioni, eliminazioni, mosse e aggiornamenti, tuttavia, sono molto più ingombranti perché possono comportare la rinumerazione dei nodi.

In genere usati per rappresentare set nidificati o informazioni gerarchiche sotto forma di alberi, il modello di set nidificato è stato introdotto da Joe Celko.Un albero, in questo caso, è una struttura di dati che contiene un numero di nodi collegati.Ad esempio, un nodo genitore può connettersi a più nodi figlio e questa struttura viene ripetuta attraverso l'albero attraverso diversi livelli.

Gli alberi sono un ottimo modo per archiviare informazioni in un ordine particolare all'interno di un database relazionale, che è un set di dati che memorizza i dati a seconda delle caratteristiche comuni.Ad esempio, le informazioni sul prodotto all'interno della sezione alimentare di un negozio possono iniziare con cibo, ramificarsi in frutta, verdura e carne.I frutti possono essere ulteriormente suddivisi in bacche, meloni, mele e verdure in tuberi, verdure e altri e carne in maiale, montone e vitello.

Un database relazionale memorizza tutte queste informazioni in una forma di facile comprensione e un modello set nidificato consente di gestire in modo efficiente la struttura dell'albero.Usando l'esempio sopra, il nodo radice sarebbe cibo, che è rappresentato da due valori.Dato il valore sinistro per il cibo come 1, agli altri oggetti nell'albero viene assegnato un numero a sinistra in ordine.I frutti otterrebbero un valore di 2 a sinistra, le bacche sarebbero 3 e così via.I valori vengono quindi assegnati sul lato destro, lavorando fino in fondo attraverso l'albero, dal basso verso l'alto, attraverso ogni ramo fino a quando l'ultimo valore viene assegnato al cibo sul lato destro.

Ogni elemento nell'albero finisce con due valori,dire lft per sinistra e rgt per destra, che può essere utilizzato per identificarli e indicare la loro relazione con altri elementi.Ad esempio, se i frutti hanno un valore di 2 e 15, tutti i nodi che hanno valori lasciati maggiori di 2 e valori destro inferiori a 15 sono discendenti dell'albero di frutta 2 ndash; 15.Diventa facile estrarre informazioni su tutti i frutti in una volta perché questi valori possono essere specificati in una singola query nel database.

Questo modello è eccellente per la memorizzazione di informazioni che si accedono spesso, ma inserzioni, eliminazioni e riordinaggio di informazioniIl modello set nidificato diventa molto noioso.La riscrittura degli indici e la rinumerazione delle informazioni può causare l'arresto del database, soprattutto se l'albero cresce per includere centinaia di migliaia di nodi.Il modello set nidificato è il migliore per i sistemi di gestione dei contenuti leggeri che hanno inserimenti e cambiamenti minimi.Gli inserzioni possono essere effettuati molto più velocemente nel modello a intervallo nidificato perché memorizza la posizione di ciascun nodo nell'albero usando decimali a punta mobile codificando anche le informazioni del percorso.