/ / En hierarkisk databas är ... Modeller, exempel

En hierarkisk databas är ... Modeller, exempel

En hierarkisk databas är en databas baserad påträdstruktur. Enligt principen om konstruktion är det något som liknar en dators filsystem. Det finns fördelar och nackdelar med att använda en sådan modell, som kommer att diskuteras i denna artikel, tillsammans med detaljerade exempel.

Databastyper

en hierarkisk databas är

Som ni vet finns det fyra typer av databasbyggande:

  • Relational - tabellformat DBMS, där information presenteras i form av radkolumner. Enligt denna princip är till exempel databaser byggda i "Access".
  • Objektorienterad - nära besläktad med OOP(programmering där du arbetar med objekt), och detta är deras främsta fördel, men med tanke på deras låga prestanda är de fortfarande betydligt sämre i förhållande till relationella.
  • Hybrid - DBMS som innehåller två av ovanstående typer samtidigt.
  • Hierarkisk är fokus för denna artikel. Dessa är databaser som kännetecknas av en trädliknande struktur.

Det mest kända exemplet på en hierarkisk basData är en produkt skapad av IBM ("IBEm") som heter Information Management System (översatt som "Information Management System"), förkortat IMS. Den första versionen av IMS kom ut under det sista, tjugonde århundradet, på sextioåttonde året. Den används för att lagra och kontrollera data fram till i dag.

Principen att bygga en hierarkisk modell

exempel på en hierarkisk databas

Den hierarkiska datamodellen är byggd enligt följande princip:

  • för varje nod i trädstrukturen tilldelas ett visst segment;
  • ett segment betyder datafält med ett namn tilldelat varje fält och ordnat i en linjär tupel;
  • ytterligare en matchning: en ingång och flera utgångssegment för varje källfält;
  • för varje strukturelement finns en och en plats i hierarkisystemet;
  • trädstrukturen börjar vid rotelementet;
  • varje slavnod har bara en förfader, men varje källnod kan ha flera ättlingar.

Tillämpa en hierarkisk datastruktur

En hierarkisk databas är ett förvar som är tillämpligt på system som har en trädstruktur i sig. Det är logiskt för dem att välja sådan modellering.

Ett exempel på en hierarkisk databas med initialtsystematiserade grader - en militär enhet, där, som ni vet, ledarna är klart definierade. Det kan också vara komplexa mekanismer som består av partiklar som alltmer förenklas till botten av hierarkin. För att modellera sådana system och ta dem till formen för den betraktade databasen finns det inget behov av sönderdelning. Detta är dock inte alltid fallet.

ett exempel på en hierarkisk databas är

Dessutom finns det en tendens att en nedåtriktad fråga är lättare än en uppåtvänd fråga.

Grundläggande operationer på databaser byggda på en hierarkisk modell

Strukturen i en hierarkisk databas tillåterframgångsrikt och nästan sömlöst (beroende på färdigheter och förmågor) för att utföra följande operationer (de mest grundläggande presenteras, listan kan alltid utökas med mindre tillägg):

  • databassökning efter ett visst element;
  • navigering genom databasen - från träd till träd;
  • trädkorsning - från gren till gren;
  • följaktligen är grenövergång elementvis;
  • arbeta med poster: infoga en ny och / eller radera den aktuella, kopiera, klipp ut etc.

Allmän beskrivning av strukturen

Termen "träd" för att beskriva en strukturhar nämnts i den här artikeln mer än en gång. Det är dags att berätta var det kommer ifrån. Detta beror på att en hierarkisk databas är en databas som använder träddatatypen. Låt oss titta närmare på vad det är.

Detta är en sammansatt typ:flera efterföljande (en eller flera) är inbäddade i vart och ett av elementen (noder). Och allt börjar med ett rotelement. Slutsatsen är att var och en av bitarna av typen "träd" är en undertyp, även ett "träd". Många, många grenade och alla beställde också strukturer.

hierarkisk modell

Elementära typer kan vara enkla eller komplexa, men i grunden är de alltid poster. Men i en enkel post finns det en typ av data, och i en sammansatt finns en hel samling av dem.

Den hierarkiska modellen kännetecknas av principenättlingar, när varje föregående segment är en förfader till nästa. Dessutom är en ättling av en överordnad typ en underordnad typ, medan poster som motsvarar varandra betraktas som tvillingar.

Databasfyllning

Huvuddata för en hierarkisk databas är värden (siffror eller symboler) som lagras i poster. En sådan databas korsas vanligtvis från botten till toppen och från vänster till höger.

värdighet

En hierarkisk databas är en som har en rotDB-mappen förgrenar sig gradvis nedåt. Med tanke på att en sådan struktur är mycket lik ett filsystem, används sådana databaser framgångsrikt för att utföra olika operationer på datordata. Slutsatsen: den rationella fördelningen av hennes minne, liksom väldigt anständiga indikatorer på arbetstiden.

hierarkiska databaser nätverksdatabaser

Den hierarkiska modellen är perfekt för att tillämpa den på beställd information.

brister

Samma funktioner i den betraktade DBMS,som har blivit deras främsta fördelar avgör också deras nackdelar. Till exempel svårigheterna och komplexiteten hos logiska anslutningar - det kommer att vara svårt för en erfaren specialist när man arbetar med en tidigare okänd databas att förstå, och en enkel användare kommer helt "att gå vilse" i den. Denna komplexitet av förståelse leder till att faktiskt inte många DBMS bygger på en hierarkisk modell. Ett exempel på en hierarkisk databas är, utöver den redan beskrivna produkten från IBEm-företaget, Oka och MIRIS (tillverkad i Ryssland), samt Data Edge och Team-UP (från utländska företag).

exempel

Hierarkisk databas är mångfaldolika nivåer där relationer byggs. Schematiskt ser det ut som en inverterad graf. Ett exempel på en hierarkisk databas är vilken myndighet som helst. Ta till exempel en skola.

relationshierarkiska nätverksdatabaser

På den högsta nivån kommer att lokaliserasadministrationens "ledare" är regissören. I sitt inlämnande till rektorn, rektorn - lärarna som övervakar parallellerna mellan klasserna. I varje parallell finns det ett visst antal av dem, och i varje klass finns det ett visst antal elever.

Enligt samma princip kan du måla ochdriver ett företag. Företagets chef eller till och med styrelsen är högst upp. Vidare - ett ökande antal divisioner, som alla har sin egen struktur. Det finns också gemensamma drag: chefen i varje avdelning, hans assistent, hans sekreterare, faktiskt kontorsanställda och så vidare.

Datorapplikation

Det kan finnas allvarligare applikationer.Ett utmärkt exempel på en hierarkisk databas är filsystemet. Allas bekanta "Explorer" är byggd i kärnan i Windows-operativsystemet på exakt samma sätt, precis som många andra filhanterare.

Nätverksdatabaser

Existera:

  • relationellt;
  • hierarkisk;
  • nätverksdatabaser.

Varför kom vi ihåg klassificeringen igen? Eftersom en nätverksdatabas, till skillnad från en relationell, har hierarkiska likheter.

Dags att komma ihåg vilka typer av länkar i databaser.Det finns en-till-en, en-till-många och många-till-många relationer. Vi är intresserade av det senare. I en nätverksdatabas manifesterar den sig enligt följande: en efterföljande nod kan ha flera förfäder samtidigt. Egenskapen att ha flera barn bevaras också. Vi kan säga att hierarkiska databaser, nätverksdatabaser själva är ett exempel på sådan arv. Förfadern i detta fall är just den hierarkiska databasen, eftersom principen att bygga strukturen i nätverksdatabasen förblir densamma.

Hierarki och relation

Namnet "relationellt" kommer från engelskaorden "attityd". Som nämnts i början av denna artikel uttrycks de ofta i tabeller. Men i föregående stycke påpekade vi att en hierarkisk databas också kan organisera länkar, betyder det att det också finns en tunn tråd mellan dessa två typer?

hierarkisk databasstruktur

Ja.Förutom det faktum att både den första och den andra typen fortfarande är relaterade till databaser, finns det förutom den här funktionen en annan gemensam egendom. Till exempel kan en hierarkisk databas (och ett nätverk tillsammans med den) uttryckas i en tabell. Poängen här är inte i vilken form information ska presenteras för slutanvändaren (detta är redan en fråga om användargränssnitt), utan enligt vilken princip informationen var strukturerad. Så en tydlig uppdelning i avdelningar med sina egna huvuden, divisioner och andra kommer fortfarande att uttryckas i hierarkin, men för enkelhets skull kommer den att anges i tabellen.