Introduzione al modello di database gerarchico
Database Model è un modo per definire la struttura o la progettazione logica di un database. Indica il modo in cui i dati vengono archiviati, consultati e aggiornati in DBMS (Database Management System). Ora discuteremo in dettaglio il modello di database gerarchico. Esistono molti modelli di dati per rappresentare i dati. Alcuni sono:
- Modello relazionale
- Modello Gerarchico
- Modello di rete
- Modello entità-relazione
In Relazione, i dati del modello sono organizzati in tabelle 2D (bidimensionali) in cui una relazione è gestita da un campo comune in due tabelle.
Nel modello di database gerarchico i dati sono rappresentati in una struttura ad albero. Rappresenta una relazione genitore-figlio con un genitore unico per ciascun figlio.
Il modello di rete è un'estensione del modello gerarchico. In questi dati sono rappresentati sotto forma di grafici con più di un nodo padre per un nodo figlio.
Nel modello entità-relazione, gli oggetti sono divisi in entità e le loro caratteristiche nei loro attributi e quindi la relazione viene stabilita tra entità diverse.
Ora discuteremo in dettaglio il modello di database gerarchico.
Cos'è il modello di database gerarchico
Un modello di database gerarchico è un modello di dati in cui i dati sono rappresentati nella struttura ad albero. In questo modello, i dati vengono archiviati sotto forma di record che sono la raccolta di campi. I record sono collegati tramite collegamenti e il tipo di record indica quale campo è contenuto dal record. Ogni campo può contenere solo un valore.
Un modello di database gerarchico deve avere un solo genitore per ciascun nodo figlio, ma i nodi principali possono avere più di un figlio. I genitori multipli non sono ammessi. Questa è la principale differenza tra il modello di database gerarchico e di rete. Il primo nodo dell'albero è chiamato nodo radice. Quando è necessario recuperare i dati, l'intero albero viene attraversato a partire dal nodo principale. Questo modello rappresenta uno-a-molti rapporti.
Vediamo un esempio: supponiamo di avere una directory principale che contiene altre sottodirectory. Ogni sottodirectory contiene più file e directory. Ogni directory o file può trovarsi in una sola directory, ovvero ha un solo genitore.
Qui A è la directory principale, ovvero il nodo radice. B1 e B2 sono i loro figli o sottodirectory. B1 e B2 hanno anche due figli C1, C2 e C2, C3 rispettivamente. Possono essere directory o altri file. Questo raffigura relazioni uno-a-molti.
Usi del modello di database gerarchico
Un modello di database gerarchico è stato ampiamente utilizzato durante l'era dei computer mainframe. Oggi, un modello di database gerarchico viene utilizzato principalmente per la memorizzazione di file system e informazioni geografiche. È utilizzato in applicazioni in cui sono richieste elevate prestazioni come telecomunicazioni e servizi bancari. Un database gerarchico viene utilizzato anche per il registro di Windows nel sistema operativo Microsoft Windows. È utile quando sono soddisfatte le seguenti due condizioni:
- I dati devono essere secondo uno schema gerarchico, ovvero devono essere presenti relazioni genitore-figlio.
- È possibile accedere ai dati in un modello gerarchico tramite un solo percorso.
Vantaggi del modello di database gerarchico
- I dati possono essere recuperati facilmente grazie ai collegamenti espliciti presenti tra le strutture della tabella.
- L'integrità referenziale viene sempre mantenuta, ovvero eventuali modifiche apportate nella tabella padre vengono automaticamente aggiornate in una tabella figlio.
- Promuove la condivisione dei dati.
- È concettualmente semplice grazie alla relazione genitore-figlio.
- Viene garantita la sicurezza del database.
- Efficiente con relazioni 1: N.
- Una chiara catena di comando o autorità.
- Aumenta la specializzazione.
- Alte prestazioni.
- Risultati chiari.
Svantaggi del modello di database gerarchico
- Se la tabella padre e la tabella figlio non sono correlate, l'aggiunta di una nuova voce nella tabella figlio è difficile perché è necessario aggiungere una voce aggiuntiva nella tabella padre.
- Le relazioni complesse non sono supportate.
- Ridondanza che si traduce in informazioni inaccurate.
- Il cambiamento nella struttura porta al cambiamento in tutti i programmi applicativi.
- M: la relazione N non è supportata.
- Nessuna manipolazione o linguaggio di definizione dei dati.
- Mancanza di standard.
- Scarsa flessibilità
- Ostacoli alla comunicazione
- Disunità organizzativa.
- Struttura rigida
Caratteristiche del modello di database gerarchico:
- Molte o molte relazioni: supporta solo relazioni da una a molte. Molte o molte relazioni non sono supportate.
- Problema nella cancellazione: se un genitore viene eliminato, il figlio viene automaticamente eliminato.
- Gerarchia dei dati: i dati sono rappresentati in una struttura gerarchica ad albero.
- Relazione genitore-figlio: ogni figlio può avere un solo genitore, ma un genitore può avere più di un figlio.
- Puntatore: i puntatori vengono utilizzati per collegare i record che indicano quale è un genitore e quale record figlio è.
- L'input e l'output del disco sono ridotti al minimo: i record padre e figlio vengono posizionati o archiviati l'uno vicino all'altro sul dispositivo di archiviazione, riducendo al minimo l'input e l'output del disco rigido.
- Navigazione veloce: poiché genitori e figli sono memorizzati uno vicino all'altro, il tempo di accesso è ridotto e la navigazione diventa più veloce.
- Relazione predefinita: tutte le relazioni tra i nodi radice, padre e figlio sono predefinite nello schema del database.
- Difficoltà di riorganizzazione: la gerarchia impedisce la riorganizzazione dei dati.
- Ridondanza: una o più relazioni aumentano la ridondanza nei dati che porta al recupero di dati imprecisi.
Esempi
Facciamo un esempio di studenti universitari che seguono corsi diversi. Un corso può essere assegnato a un solo studente ma uno studente può seguire tutti i corsi che desidera, quindi seguendo una o più relazioni.
Ora possiamo rappresentare il modello gerarchico sopra come tabelle relazionali come mostrato di seguito:
Tavolo dello studente:
Tabella del corso:
In questo modo, il modello gerarchico può essere rappresentato in tabelle relazionali e viceversa può anche essere fatto.
Conclusione
In questo articolo, abbiamo discusso in dettaglio il modello di database gerarchico che descrive la relazione genitore-figlio che semplifica la rappresentazione dei dati e la comprensione del concetto facilmente. È stato utilizzato principalmente in tempi di computer mainframe, ma è ancora utilizzato in molti campi in cui i parametri sono prestazioni elevate e concetti semplici. Quindi il modello gerarchico è efficiente per una o più relazioni ed è ampiamente utilizzato nella registrazione dei dati del file system.
Articoli consigliati
Questa è stata una guida al modello di database gerarchico. Qui abbiamo discusso i concetti di base, la definizione e i vantaggi del modello di database gerarchico. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -
- Che cos'è Ansible?
- Cos'è il database MySQL
- I Big Data sono un database?