En hierarkisk database er en database baseret påtræ struktur. Efter konstruktionsprincippet ligner det noget på filsystemets computer. Der er fordele og ulemper ved at bruge en sådan model, som vil blive diskuteret i denne artikel sammen med detaljerede eksempler.
Databasetyper
Som du ved, er der fire typer databaseopbygning:
- Relational - tabel DBMS, hvor information præsenteres i form af rækkekolonner. I henhold til dette princip er databaser f.eks. Bygget i "Access".
- Objektorienteret - tæt relateret til OOP(programmering, hvor du arbejder med objekter), og dette er deres største fordel, men i betragtning af deres lave ydeevne er de stadig betydeligt ringere i forhold til relationelle.
- Hybrid - DBMS, der indeholder to af ovenstående typer på én gang.
- Hierarkisk er fokus for denne artikel. Dette er databaser, der er kendetegnet ved en trælignende struktur.
Det mest berømte eksempel på en hierarkisk baseData er et produkt oprettet af IBM ("IBEm") kaldet Information Management System (oversat som "Information Management System"), forkortet som IMS. Den første version af IMS blev udgivet i det sidste, tyvende århundrede i det ottendeogtredive år. Det bruges til at gemme og kontrollere data den dag i dag.
Princippet om at opbygge en hierarkisk model
Den hierarkiske datamodel er bygget efter følgende princip:
- for hver node i træstrukturen tildeles et bestemt segment;
- et segment betyder datafelter med et navn tildelt hvert felt og arrangeret i en lineær tuple;
- endnu et match: en indgang og flere udgangssegmenter for hvert kildefelt;
- for hvert strukturelement er der et og kun ét sted i hierarkisystemet;
- træstrukturen starter ved rodelementet;
- hver slaveknude har kun en forfader, men hver kildeknude kan have flere efterkommere.
Anvendelse af en hierarkisk datastruktur
En hierarkisk database er et lager, der gælder for systemer, der har en træstruktur i sig selv. Det er logisk for dem at vælge sådan modellering.
Et eksempel på en hierarkisk database med oprindeligtsystematiserede grader - en militær enhed, hvor rækkerne som bekendt er klart defineret. Det kan også være komplekse mekanismer, der består af partikler, der i stigende grad forenkles til bunden af hierarkiet. For at modellere sådanne systemer og bringe dem til formen for den database, der overvejes, er der ikke behov for nedbrydning. Dette er dog ikke altid tilfældet.
Derudover er der en tendens til, at en nedadrettet forespørgsel er lettere end en opadgående forespørgsel.
Grundlæggende operationer på databaser bygget på en hierarkisk model
Strukturen i en hierarkisk database tillader detmed succes og praktisk problemfri (afhængigt af færdigheder og evner) til at udføre følgende operationer (de mest basale præsenteres, listen kan altid udvides med mindre tilføjelser):
- databasesøgning efter et bestemt element;
- navigation gennem databasen - fra træ til træ;
- træovergang - fra gren til gren;
- følgelig er grenovergang elementvis;
- arbejde med poster: indsæt en ny og / eller slet den aktuelle, kopier, klip osv.
Generel beskrivelse af strukturen
Udtrykket "træ" til beskrivelse af en strukturer blevet nævnt i denne artikel mere end én gang. Det er tid til at fortælle, hvor det kom fra. Dette skyldes, at en hierarkisk database er en database, der bruger trædatatypen. Lad os se nærmere på, hvad det er.
Dette er en sammensat type:flere efterfølgende (en eller flere) er indlejret i hvert af elementerne (noder). Og det hele starter med et rodelement. Den nederste linje er, at hver af stykkerne af typen "træ" er en undertype, også et "træ". Mange, mange forgrenede og alle bestilte også strukturer.
Elementære typer kan være enkle og komplekse, men i det væsentlige er de altid optegnelser. Men i en simpel registrering er der en type data, og i en sammensat er der en hel samling af dem.
Den hierarkiske model er præget af princippetefterkommere, når hvert forrige segment er en forfader til det næste. Derudover er en efterkommer af en overordnet type en underordnet type, mens poster, der svarer til hinanden, betragtes som tvillinger.
Databasefyldning
Hoveddataene i en hierarkisk database er værdier (tal eller symboler), der er gemt i poster. En sådan database krydses normalt fra bund til top og fra venstre mod højre.
værdighed
En hierarkisk database er en, der har en rodDB-mappen forgrener sig gradvist nedad. I betragtning af at en sådan struktur er meget lig et filsystem, bruges sådanne databaser med succes til at udføre forskellige operationer på computerdata. Bundlinjen: den rationelle fordeling af hendes hukommelse samt meget anstændige indikatorer for den tid, der er brugt på arbejde.
Den hierarkiske model er ideel til at anvende den på bestilte oplysninger.
mangler
Imidlertid er de samme funktioner i den betragtede DBMS,som er blevet deres største fordele, bestemmer også deres ulemper. For eksempel besværligheden og kompleksiteten af logiske forbindelser - det vil være svært for en erfaren specialist, når man arbejder med en tidligere ukendt database at forstå, og en simpel bruger vil helt "gå tabt" i den. Denne kompleksitet af forståelse fører til, at faktisk ikke mange DBMS'er er bygget på en hierarkisk model. Et eksempel på en hierarkisk database er ud over det allerede beskrevne produkt fra IBEm-firmaet Oka og MIRIS (fremstillet i Rusland) samt Data Edge og Team-UP (fra udenlandske virksomheder).
eksempler
Hierarkisk database er mangfoldighedforskellige niveauer, hvor relationer er bygget op. Skematisk ser det ud som en omvendt graf. Et eksempel på en hierarkisk database er ethvert statligt administrativt organ. Tag for eksempel en skole.
På det aller øverste niveau vil være placeretadministrationens "leder" er direktøren. I sin indsendelse til rektoren, rektoren - lærerne, der fører tilsyn med klassernes paralleller. I hver parallel er der et bestemt antal af dem, og i hver klasse er der et bestemt antal studerende.
Efter det samme princip kan du male ogdriver et selskab. Virksomhedslederen eller endda bestyrelsen er øverst. Yderligere - et stigende antal divisioner, som hver har sin egen struktur. Der er også fælles træk: chefen i hver afdeling, hans assistent, hans sekretær, faktisk kontoransatte osv.
Computerapplikation
Der kan være mere seriøse applikationer.Et godt eksempel på en hierarkisk database er filsystemet. Alles velkendte "Explorer" er bygget i selve kernen i Windows-operativsystemet på nøjagtig samme måde som mange andre filadministratorer.
Netværksdatabaser
Eksisterer:
- relationel;
- hierarkisk;
- netværksdatabaser.
Hvorfor huskede vi klassificeringen igen? Da, i modsætning til en relationel, har en netværksdatabase ligheder med en hierarkisk.
Tid til at huske de slags links i databaser.Der er en-til-en, en-til-mange og mange-til-mange relationer. Vi er interesserede i sidstnævnte. I en netværksdatabase manifesterer den sig som følger: en efterfølgerknude kan have flere forfædre på én gang. Egenskaben ved at have flere børn bevares også. Vi kan sige, at hierarkiske databaser, netværksdatabaser i sig selv er et eksempel på sådan arv. Forfædren i dette tilfælde er netop den hierarkiske database, da princippet om at opbygge strukturen i netværksdatabasen forbliver den samme.
Hierarki og relationelitet
Navnet "relationel" kommer fra engelskordene "attitude". Som nævnt i begyndelsen af denne artikel udtrykkes de ofte i tabeller. Men i det foregående afsnit påpegede vi, at en hierarkisk database også kan organisere links, betyder det, at der også er en tynd tråd mellem disse to typer?
Ja.Ud over det faktum, at både den første og den anden type stadig er relateret til databaser, er der ud over denne funktion en anden fælles egenskab. For eksempel kan en hierarkisk database (og et netværk sammen med den) udtrykkes i en tabel. Pointen her er ikke i hvilken form information skal præsenteres for slutbrugeren (dette er allerede et spørgsmål om brugergrænseflade), men i henhold til hvilket princip oplysningerne var struktureret. Så en klar opdeling i afdelinger med deres egne hoveder, afdelinger og andre vil stadig blive udtrykt i hierarkiet, men for nemheds skyld vil det blive indtastet i tabellen.