O bază de date ierarhică este o bază de date bazată pestructura arborelui. Prin principiul construcției, este oarecum similar cu sistemul de fișiere al unui computer. Există avantaje și dezavantaje în utilizarea unui astfel de model, care va fi discutat în acest articol, împreună cu exemple detaliate.
Tipuri de baze de date
După cum știți, există patru tipuri de construire a bazelor de date:
- Relațional - SGBD tabelar, unde informațiile sunt prezentate sub formă de rânduri-coloane. Conform acestui principiu, bazele de date sunt construite în „Access”, de exemplu.
- Orientat pe obiecte - strâns legat de OOP(programare în care lucrați cu obiecte), și acesta este principalul lor avantaj, dar având în vedere performanța lor scăzută, acestea sunt încă semnificativ inferioare în prevalență față de cele relaționale.
- Hibrid - SGBD care conține două dintre tipurile de mai sus simultan.
- Ierarhic este centrul acestui articol. Acestea sunt baze de date caracterizate printr-o structură asemănătoare copacului.
Cel mai faimos exemplu de bază ierarhicăDatele sunt un produs creat de IBM („IBEm”) numit Information Management System (tradus ca „Information Management System”), prescurtat ca IMS. Prima versiune a IMS a fost lansată în ultimul secol XX, în anul șaizeci și opt. Este folosit pentru a stoca și controla date până în prezent.
Principiul construirii unui model ierarhic
Modelul ierarhic de date este construit în conformitate cu următorul principiu:
- pentru fiecare nod al structurii arborelui, este atribuit un anumit segment;
- un segment înseamnă câmpuri de date cu un nume atribuit fiecărui câmp și dispuse într-un tuplu liniar;
- încă o potrivire: o intrare și mai multe segmente de ieșire pentru fiecare câmp sursă;
- pentru fiecare element structural există un singur și un singur loc în sistemul ierarhic;
- structura arborelui începe de la elementul rădăcină;
- fiecare nod sclav are un singur strămoș, dar fiecare nod sursă poate avea descendenți multipli.
Aplicarea unei structuri ierarhice de date
O bază de date ierarhică este un depozit aplicabil sistemelor care au o structură arborescentă inerent. Este logic pentru ei să aleagă o astfel de modelare.
Un exemplu de bază de date ierarhizată cu inițialgrade sistematizate - o unitate militară în care, după cum știți, rândurile sunt clar definite. De asemenea, poate fi vorba de mecanisme complexe, constând din particule care sunt din ce în ce mai simplificate până la fundul ierarhiei. Pentru a modela astfel de sisteme și a le aduce la forma bazei de date considerate, nu este nevoie de descompunere. Cu toate acestea, acest lucru nu este întotdeauna cazul.
În plus, există tendința că o interogare orientată în jos este mai ușoară decât o interogare orientată în sus.
Operațiuni de bază pe baze de date construite pe un model ierarhic
Structura unei baze de date ierarhice permitecu succes și aproape fără probleme (în funcție de abilități și abilități) pentru a efectua următoarele operațiuni (sunt prezentate cele mai de bază, lista poate fi întotdeauna extinsă cu adăugări minore):
- căutarea bazei de date pentru un anumit element;
- navigare prin baza de date - din copac în copac;
- trecerea copacilor - de la ramură la ramură;
- în consecință, tranziția ramurilor este elementară;
- lucrați cu înregistrări: introduceți una nouă și / sau ștergeți-o pe cea curentă, copiați, tăiați etc.
Descrierea generalizată a structurii
Termenul „copac” pentru a descrie o structurăa fost menționat în acest articol de mai multe ori. Este timpul să spunem de unde a venit. Acest lucru se datorează faptului că o bază de date ierarhică este o bază de date care utilizează tipul de date arborescent. Să aruncăm o privire mai atentă despre ce este.
Acesta este un tip compozit:mai multe dintre cele ulterioare (unul sau mai multe) sunt încorporate în fiecare dintre elemente (noduri). Și totul începe cu un singur element rădăcină. Concluzia este că fiecare dintre piesele de tip „copac” este un subtip, de asemenea un „copac”. Multe, multe ramificate și toate, de asemenea, structuri ordonate.
Tipurile elementare pot fi simple și complexe, dar în esență sunt întotdeauna înregistrări. Dar într-o înregistrare simplă există un singur tip de date, iar într-una compusă există o întreagă colecție de date.
Modelul ierarhic se caracterizează prin principiudescendenți, când fiecare segment anterior este un strămoș pentru următorul. În plus, un descendent al unui tip părinte este un tip subordonat, în timp ce înregistrările care sunt echivalente una cu cealaltă sunt considerate gemeni.
Completarea bazei de date
Principalele date ale unei baze de date ierarhice sunt valori (numere sau simboluri) care sunt stocate în înregistrări. O astfel de bază de date este de obicei traversată de jos în sus și de la stânga la dreapta.
demnitate
O bază de date ierarhică este una care are o rădăcinăfolderul DB se ramifică treptat în jos. Având în vedere că o astfel de structură este foarte asemănătoare cu un sistem de fișiere, astfel de baze de date sunt folosite cu succes pentru a efectua diferite operațiuni pe datele computerului. Concluzie: distribuția rațională a memoriei sale, precum și indicatori foarte decenți ai timpului petrecut la muncă.
Modelul ierarhic este ideal pentru aplicarea acestuia la informații ordonate.
deficiențe
Cu toate acestea, aceleași caracteristici ale SGBD considerat,care au devenit principalele lor avantaje determină și dezavantajele lor. De exemplu, greutatea și complexitatea conexiunilor logice - va fi dificil pentru un specialist cu experiență atunci când lucrează cu o bază de date necunoscută anterior și un simplu utilizator se va „pierde” complet în ea. Această complexitate a înțelegerii duce la faptul că, de fapt, nu multe SGBD sunt construite pe un model ierarhic. Un exemplu de bază de date ierarhică este, pe lângă produsul deja descris al IBEm, Oka și MIRIS (fabricat în Rusia), precum și Data Edge și Team-UP (de la corporații străine).
exemple
Baza de date ierarhică este diversitateaniveluri diferite la care se construiesc relațiile. Schematic, arată ca un grafic inversat. Un exemplu de bază de date ierarhică este orice agenție administrativă guvernamentală. Luați, de exemplu, o școală.
La cel mai înalt nivel va fi localizat„conducătorul” administrației este directorul. În supunerea sa către profesorul principal, profesorul principal - profesorii, care supraveghează paralelele claselor. În fiecare paralelă există un anumit număr dintre ei, iar în fiecare clasă există un anumit număr de elevi.
Prin același principiu, puteți picta șiconducerea unei corporații. Șeful companiei sau chiar consiliul de administrație este chiar în vârf. Mai mult - un număr din ce în ce mai mare de diviziuni, fiecare dintre ele având propria structură. Există, de asemenea, trăsături comune: șeful din fiecare departament, asistentul său, secretarul său, de fapt, angajații de la birou și așa mai departe.
Program calculator
Pot exista aplicații mai serioase.Un prim exemplu de bază de date ierarhică este sistemul de fișiere. „Exploratorul” familiar al tuturor este construit chiar în centrul sistemului de operare Windows, exact în același mod, la fel ca mulți alți manageri de fișiere.
Baze de date de rețea
Exista:
- relațional;
- ierarhic;
- baze de date de rețea.
De ce ne-am amintit din nou de clasificare? Deoarece, spre deosebire de o relațională, o bază de date de rețea are asemănări cu una ierarhică.
Este timpul să vă amintiți tipurile de linkuri din bazele de date.Există relații unu-la-unu, unu-la-multe și multe-la-multe. Ne interesează pe acestea din urmă. Într-o bază de date de rețea, se manifestă după cum urmează: un nod succesor poate avea mai mulți strămoși simultan. Proprietatea de a avea mai mulți copii este, de asemenea, păstrată. Putem spune că bazele de date ierarhice, bazele de date din rețea sunt în sine un exemplu de astfel de moștenire. Strămoșul în acest caz este tocmai baza de date ierarhică, deoarece principiul construirii structurii în baza de date a rețelei rămâne același.
Ierarhie și relaționalitate
Numele „relațional” provine din englezăcuvântul „atitudine”. După cum sa menționat la începutul acestui articol, acestea sunt adesea exprimate în tabele. Dar în paragraful anterior, am subliniat că o bază de date ierarhică poate organiza și legături, înseamnă că există și un fir subțire între aceste două tipuri?
Da.Pe lângă faptul că atât primul, cât și al doilea tip sunt încă legate de baze de date, pe lângă această caracteristică, există și o altă proprietate comună. De exemplu, o bază de date ierarhică (și o rețea împreună cu aceasta) pot fi exprimate într-un tabel. Ideea de aici nu este în ce formă să prezentăm informații utilizatorului final (aceasta este deja o chestiune de utilizare a interfeței), ci în funcție de ce principiu a fost structurată informația. Deci, o împărțire clară în departamente cu propriile capete, divizii și altele va fi exprimată în continuare în ierarhie, dar pentru comoditate va fi introdusă în tabel.