Relasjonsdatabase vs. Hierarkisk database

...

Relasjonsdatabaser og hierarkiske databaser er to av de vanligste typene databaser.

Databaser er dataprogrammer som lagrer data, eller «poster». Enda viktigere, de beskriver også hvordan disse dataene forholder seg til andre data i databasen. Det finnes mange forskjellige typer databaser, inkludert hierarkiske, nettverks-, relasjons- og objektorienterte. De tjener alle forskjellige formål, og lar postene deres beskrives på forskjellige måter.

Heirarkiske databaser

Hierarkiske databaser er noen av de eldste og enkleste databasetypene. De ordner data i en "tre"-struktur, som ligner på mapper og filer på en datamaskin. Akkurat som en fil på en datamaskin ligger i én mappe, har hver post i databasen én "forelder". Hierarkisk ordnede data beskrives ofte som å ha bare foreldre/barn-relasjoner.

Dagens video

Problemer med Heirachical Databaser

Mens den hierarkiske modellen er egnet for enkle strukturer, er det lett å se hvordan problemer kan oppstå, siden hvert "barn" bare kan ha en "forelder". Hvis databasen inneholdt navnene på faktiske foreldre og deres barn i et selskap, ville du ikke kunne beskrive det faktum at begge foreldrene til et enkelt barn jobbet for det selskap. På språket til databaser vil dette være et "mange-til-en" (eller "mange-til-mange" hvis det er mer enn ett barn involvert) forhold, og hierarkiske databaser beskriver dem ikke godt.

Relasjonelle databaser

Relasjonsdatabaser har ingen problemer med mange-til-en eller mange-til-mange relasjoner. Postene deres er bygget som flere "tabeller", i stedet for trestrukturer, og hver post på en tabell har en unik identifikator. Et selskap kan da ha en tabell med navnene på alle foreldrene, en tabell med navnene på alle barna, og hver post på overordnet tabellen kan ha en relasjon til en (eller flere, eller ingen) av de unike postene på den underordnede tabellen - det forholdet "er overordnet til." Evnen til å gi poster slike relasjoner er det som gir relasjonsdatabaser deres Navn.

Fordeler med relasjonsdatabaser

Relasjonsdatabaser forhindrer feil ved å la én post gjelde for et hvilket som helst antall andre tabeller. En barnepost kan brukes i et "er barnet av"-forhold, og den samme posten kan refereres til i en tabell over "barn som deltar selskapets piknik." Ved å forhindre duplisering kan den samme informasjonen brukes på mange forskjellige måter, uten å endre en ta opp.

Relasjonsdatabaser er også veldig gode for å gi andre typer data skjult i postene, ved å bruke spørringer skrevet i Structured Query Language eller SQL. Dette lar deg utforske databasen på måter som ikke umiddelbart er synlige, for eksempel å finne alle barna over en viss alder, eller alle foreldrene med tre eller flere barn.

Bruke hierarkiske databaser

Det kan virke som om relasjonsdatabaser er overlegne de hierarkiske, og det er sant at de er mer fleksible. Men slik fleksibilitet er ikke alltid nødvendig for hver database. Biblioteker bruker hierarkiske databaser for å registrere bøkene sine, ettersom Dewey Decimal-systemet er hierarkisk av natur. En liste over kontakttelefonnumre kan være perfekt tjent med en hierarkisk database. En database er et verktøy, og det riktige verktøyet for jobben avhenger av den aktuelle jobben.