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 utilizzato per rappresentare set nidificati o informazioni gerarchiche sotto forma di alberi, il modello 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 LEVEls.

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. Il VALe lue vengono quindi assegnate 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, diciamo lft per sinistra e rgt per la destra, che può essere utilizzata 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-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 a cui si accede spesso, ma gli inserimenti, le eliminazioni e il riordino nel modello set nidificato diventano molto noiosi. La riscrittura degli indici e la rinumerazione delle informazioni può causare l'arresto del database, soprattutto se l'albero cresce per includere centinaia di migliaias 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 i decimali a punta mobile codificando anche le informazioni del percorso.

ALTRE LINGUE

Questo articolo è stato utile? Grazie per il feedback Grazie per il feedback

Come possiamo aiutare? Come possiamo aiutare?