Un model de date ierarhic este cel mai simplu dintre toate modelele datum. Din punct de vedere istoric, a fost primul dintre toate modelele datalogice: acest model este susținut de primul IBM IMS industrial înregistrat. Cel mai faimos a fost sistemul IMS ierarhic al IBM. Sunt cunoscute și alte sisteme: PC / Focus, Team-Up, Data Edge și ale noastre: Oka, INES, MIRIS.
Modelul ierarhic a apărut pentru prima dată ca urmare a generalizării structurilor de date ale limbajului Cobol.
În modelele ierarhice, structura de bază a reprezentării datelor are forma unui arbore. La cel mai înalt (primul) nivel al ierarhiei există un singur vertex, care se numește rădăcina copacului. Acest vertex are legături cu vârfurile celui de-al doilea nivel, nodurile celui de-al doilea nivel au legături cu nodurile de la al treilea nivel etc. Nu există legături între vârfurile unui nivel. Prin urmare, datele din structura ierarhică nu sunt egale - unele sunt subordonate rigid celeilalte. Accesul la informație este posibil numai într-o schemă verticală, pornind de la rădăcină, deoarece fiecare element este asociat cu un singur element din nivelul superior și cu unul sau mai multe la nivelul scăzut.
Un exemplu de structură ierarhică este cartea, ca o succesiune ierarhică de litere care se combină în cuvinte, cuvinte în propoziții, propoziții în paragrafe, apoi în capitole și așa mai departe.
Din punctul de vedere al teoriei grafurilor, modelul ierarhic este un grafic arbore (un arbore inversat), o vedere simplificată a căruia este prezentată în Fig. 10.
Fig. 10. Graficul arborelui
Un exemplu real al unui model de date ierarhic este prezentat în Fig. 11 și 12.
Fig. 11. Un exemplu de model de date ierarhic
Fig. 12. Un exemplu de model de date ierarhic
Datele organizate ierarhic sunt definite următoarele operații:
· Adăugați o intrare nouă în baza de date.
· Schimbați valoarea de date a înregistrării extrase anterior.
· Ștergeți o înregistrare și toate înregistrările subordonate acesteia.
· Extrageți înregistrarea; în această operațiune este permis să se stabilească condițiile pentru eșantion, de exemplu, pentru a extrage angajații cu un salariu de peste 200 de mii de ruble.
Meritele modelului de date ierarhic includ:
· Utilizarea destul de eficientă a memoriei și
· Sincronizarea optimă a operațiunilor de date.
Cu toate acestea, acest model este convenabil, în principal, pentru a lucra cu informații organizate ierarhic. Dezavantajele modelului ierarhic sunt relații logice destul de complexe și greutăți corespunzătoare în prelucrarea datelor.
Principalele unități de informații din modelul ierarhic sunt:
Segmentarea în terminologia Asociației de baze de date americane DBTG (Data Task Group Group) este numită înregistrare. în timp ce în modelul ierarhic sunt definite două concepte:
· Tipul segmentului sau tipul de înregistrare,
· O instanță a unui segment sau a unei înregistrări.
Un tip de segment este o colecție numită de tipuri de elemente de date care sunt incluse în acesta. (în baze de date relaționale numite tuple (înregistrare)). O instanță a unui segment este formată din valorile specifice ale câmpurilor sau ale elementelor de date care le introduc (adică tupla plină (înregistrare)).
Este foarte important să înțelegem diferența dintre tipul segmentului și segment - este același ca și între tipul de variabilă și variabila însăși: segmentul este o instanță a tipului de segment. De exemplu, putem avea tipul segmentului Group (Number, Starost) și segmente de acest tip, cum ar fi (4305, Petrov FI) sau (383, T.S. Kustova).
Fiecare tip de segment dintr-un model ierarhic formează un set de înregistrări omogene. Pentru a putea distinge înregistrările individuale într-un set dat, fiecare tip de segment trebuie să aibă o cheie sau un set de atribute cheie (câmpuri, elemente de date).
O cheie este un set de elemente de date care identifică în mod unic o instanță a unui segment (înregistrare). De exemplu, având în vedere tipul de segment care descrie angajatul organizației, trebuie să evidențiem acele caracteristici ale angajatului care o pot identifica în mod unic în baza de date a întreprinderii. Presupunând că omologii pot lucra la întreprindere, este probabil cel mai de încredere identificarea angajatului prin numărul său. Cu toate acestea, dacă construim o bază de date care conține o descriere a unei mulțimi de cetățeni, de exemplu, țara noastră, atunci cel mai probabil va trebui să alegem un set de câmpuri care să reflecte datele pașaportului ca o cheie.
În modelul ierarhic al segmentelor împreună în grafic orientate spre copac. Se crede că marginile graficelor îndreptate reprezintă relațiile ierarhice dintre segmente: segmentul de fiecare instanță, în picioare ierarhia și conectat cu acest tip de segment corespunde cu multiple (multiple) copii ale (slave) de tip segment.
tip de segment, situat la un nivel mai înalt în ierarhia se numește o sursă de logică în ceea ce privește tipurile de segmente conectate la aceste destinații margini ierarhice, care, la rândul lor, sunt numite în mod logic subordonate tipului de segment. Uneori segmentele sursă sunt numite segment strămoși și segmentele subordonate se numește un segment descendenți.
Fig. 13. Un exemplu de legături ierarhice între segmente
Schema bazei de date ierarhice este o colecție de arbori individuali, fiecare arbore din cadrul modelului fiind numit o bază de date fizică. Fiecare bază de date fizică satisface următoarele constrângeri ierarhice:
· În fiecare bază de date fizică există un segment rădăcină, adică un segment care nu are un tip de segment logic inițial (părinte);
· Fiecare segment logic inițial poate fi asociat cu un număr arbitrar de segmente logic subordonate;
· Fiecare segment subordonat logic poate fi asociat cu un singur segment logic inițial (părinte).
Există, de asemenea, legături ierarhice între instanțele de segmente. Luați în considerare, de exemplu, graficul ierarhic prezentat în Fig.
Fig. 14. Exemplu de structură ierarhică de arbori
Fiecare tip de segment poate avea un număr de instanțe corespunzătoare. Există, de asemenea, legături ierarhice între instanțele de segment.
În Fig. 9 prezintă 2 copii ale arborelui ierarhic al structurii corespunzătoare.
Fig. 15. Un exemplu de două exemple ale acestui arbore
Instanțele de același tip care sunt asociate cu o instanță a segmentului strămoșilor se numesc "gemeni".
Deci, de exemplu, cazurile noastre de b1, b2 și b3 sunt „gemeni“, dar instanță subordonată b4 la o altă instanță a segmentului părinte, și nu este un „geamăn“ în instanțele de b1, b2 și b3.
Un set de toate instanțele de segmente care sunt subordonate unei instanțe a segmentului rădăcină se numește înregistrare fizică. Numărul instanțelor copil poate fi diferit pentru diferitele instanțe ale segmentelor părinte, astfel încât, în general, înregistrările fizice au lungimi diferite.
Astfel, folosind principiul înregistrării liniare a grafurilor ierarhice, exemplul din Fig. 9 pot fi reprezentate sub forma a două înregistrări: