Il modello dati gerarchico è stato il primo modello di database ad essere creato, apparso per la prima volta nel 1966. È stato un miglioramento rispetto ai sistemi generali di elaborazione dei file perché consente la creazione di relazioni logiche tra le informazioni in un database. Tuttavia, questa struttura ha anche i suoi svantaggi che hanno portato all'eventuale sviluppo del modello di rete e del modello relazionale.
Struttura
La caratteristica principale di un modello di dati gerarchico è la struttura ad albero. Ad esempio, un database aziendale potrebbe organizzarsi utilizzando un ramo per il personale, seguito da reparti, team e quindi membri del team. Questa struttura padre-figlio è coerente in tutto il database e ogni segmento figlio può avere solo un segmento padre. Ogni segmento, o record, può avere un numero qualsiasi di elementi di campo che forniscono informazioni su quel record. Ad esempio, il record del membro del team dovrebbe contenere dettagli come nome, supervisore e dettagli di contatto.
Video del giorno
Uno a molti e ridondanza
Poiché i modelli gerarchici non consentono record compositi, ovvero che una voce abbia più di un genitore, il database ha una struttura uno-a-molti; un'azienda può avere molti reparti e un reparto può avere molti team leader. Questo può portare a ridondanza nel modello. Ad esempio, un ramo sotto i membri del team potrebbe essere chiamato Progetti in corso. Dal momento che più membri del personale possono lavorare su un progetto, le informazioni sul progetto devono essere duplicate, il che potrebbe portare a problemi di coerenza.
Navigazione
Il modello dati gerarchico è un modello dati di navigazione; i percorsi di accesso nel modello sono limitati da strutture predeterminate. Per ottenere un record di file specifico, la query si sposta dal segmento radice nel database verso il basso attraverso i rami. Questo va bene se conosci già la posizione dei record che cerchi, ma se stai facendo esplorazioni query, questo è lento, poiché il database deve leggere tutti i record su un dato livello prima di passare al successivo uno.
Puntatori Genitori Logici
Le limitazioni della struttura gerarchica vengono in qualche modo attenuate utilizzando puntatori logici padre. Sviluppato da IBM nel suo modello di dati del sistema di gestione delle informazioni, ciò comporta la creazione di un nuovo database per le voci che hanno relazioni molti a molti e il collegamento dei due. Ad esempio, il ramo Progetti in corso avrebbe puntatori che collegano l'utente a un database Progetti separato in cui sono contenute le informazioni sul progetto. È simile al funzionamento della funzione IDREF di XML Extensible Markup Language.