Hopp til innhald

Fagartikkel

Funksjonar i ein database

Ein database må kunne samle, ta vare på og lagre data om verkelegheita. Det er ein del funksjonar vi er avhengige av for å få til dette på best mogleg måte. Det viktigaste er at vi må kunne skrive data til databasen, endre og slette data, og søkje etter og hente ut data.

LK20
Ein tavle stilt opp på ei raud pil som peiker mot ein harddisk. På tavlen er det teikna opp ein databasemodell.

Tabellar og data blir lagde inn i databasen via eit databasehandteringssystem.

Eit kartotek med ark og mapper samla i ein eske.

I gamle dagar samla og sorterte ein data i kartotek. Å hente fram data kunne då vere tidkrevjande.

Datatypar

Når vi skriv data til databasen, er det viktig at informasjonen er fullstendig og at det er riktig type data som blir lagt inn. Derfor angir vi alltid datatype for all data som skal leggjast inn i databasen. Til dømes kan ein datatype vere tekst, tal eller dato. Dette er metadata som vi angir allereie når vi planlegg databasen. Formålet med å angi datatype er for å sikre at dataa blir lagra på riktig måte på datamaskina. Dette er òg viktig når dataa skal hentast ut og tolkast. Ei datamaskin lagrar til dømes tal og tekst på heilt ulike måtar, så det er viktig at vi har angitt korleis dataa skal omsetjast frå maskinkode. Dette sikrar at databasen er uavhengig av utstyret og systema han blir brukt på.

Spørjingar

Når vi vil hente ut data frå ein database, bruker vi det som blir kalla spørjingar. Vi hentar då ut eit utval av data frå databasen basert på visse kriterium. I spørjinga blir det angitt kvar vi vil hente data frå, kriterium for kva data vi vil ha ut (til dømes basert på søkeord), og korleis dataa skal vere sorterte.

Ei spørjing i spørjespråket SQL kan sjå slik ut:

SELECT førenamn, etternamn
FROM elev
WHERE alder < 18
ORDER BY etternamn

Ein vil i dette tilfellet hente ut førenamn og etternamn på elevar som er under 18 (frå tabellen elev), sortert på etternamn.

Databasehandteringssystem

Ein database er uavhengig av programvare og filsystem. For å få tilgang til ein database må ein bruke eit databasehandteringssystem (DBMS - Database Management System). Dette er ein applikasjon som lèt ein brukar kommunisere med databasen. Sidan databasen er uavhengig av sjølve programvara, kan du sjølv velje kva for DBMS du vil bruke. Forskjellige DBMS kan ha ulike funksjonar og ulike måtar å til dømes vise fram data og søkje i databasen. Eit DBMS kan vere eit frittståande program, eller det kan vere web-basert.

Ein ting som er viktig, er at databasen skal vere tilgjengeleg for mange brukarar samtidig og tillate at fleire brukarar både kan skrive, lese og endre data samtidig. I tillegg er det viktig at ulike brukarar har ulikt tilgangsnivå til databasen. Ein vil vanlegvis ikkje tillate alle brukarar å endre eller slette data i databasen. Dette blir vanlegvis handtert av eit DBMS.

Relasjonsdatabasar

Ein modell av ein sky foran to liggande ringpermar fulle av papir.

NoSQL-databasar er ofte enklare å setje opp, då dataa blir lagra i skya i staden for på ein dedikert databaseserver.

Sjølv om databasar er uavhengige av programvare og filsystem, finst det fleire ulike typar databasar. Den mest vanlege typen heiter relasjonsdatabase. I ein relasjonsdatabase blir data lagra i tabellar som blir kopla saman ved hjelp av felles informasjon. Relasjonsdatabasar blir vanlegvis handterte ved hjelp av spørjespråket SQL – Structured Query Language, og mange DBMS er baserte på SQL, til dømes MySQL, PostgreSQL og Microsoft SQL Server. Dei siste åra har det blitt populært med ein type databasar som blir lagra som koda tekstfiler (JSON). Desse blir ofte lagra på webserverar og blir aksesserte ved hjelp av programmeringsspråk som JavaScript eller Python. Dette gjer det enklare å integrere databasar i nettsider. Denne typen databasar har fellesnemninga NoSQL, og døme på slike DBMS er Firebase, MongoDB og CouchDB. Det finst òg databasar som er kompatible med både SQL og NoSQL. Eit døme på dette er MariaDB.

Sist oppdatert 11.09.2020
Skrive av Karl Arne Dalsaune

Læringsressursar

Database

Kva er kjernestoff og tilleggsstoff?