Funksjoner i en database
Datatyper
Når vi skriver data til databasen, er det viktig at informasjonen er fullstendig og at det er riktig type data som legges inn. Derfor angir vi alltid datatype for all data som skal legges inn i databasen. For eksempel kan en datatype være tekst, tall eller dato. Dette er metadata som vi angir allerede når vi planlegger databasen. Hensikten med å angi datatype er for å sikre at dataene blir lagret på riktig måte på datamaskinen. Dette er også viktig når dataene skal hentes ut og tolkes. En datamaskin lagrer for eksempel tall og tekst på helt forskjellige måter, så det er viktig at vi har angitt hvordan dataene skal oversettes fra maskinkode. Dette sikrer at databasen er uavhengig av utstyret og systemene den brukes på.
Spørringer
Når vi vil hente ut data fra en database, bruker vi det som kalles spørringer. Vi henter da ut et utvalg av data fra databasen basert på visse kriterier. I spørringen angis hvor vi vil hente data fra, kriterier for hvilke data vi vil ha ut (for eksempel basert på søkeord), og hvordan dataene skal være sortert.
En spørring i spørrespråket SQL kan se slik ut:
SELECT fornavn, etternavn
FROM elev
WHERE alder < 18
ORDER BY etternavn
Man vil i dette tilfellet hente ut fornavn og etternavn på elever som er under 18 (fra tabellen elev), sortert på etternavn.
En database er uavhengig av programvare og filsystemer. For å få tilgang til en database må man bruke et databasehåndteringssystem (DBMS - Database Management System). Dette er en applikasjon som lar en bruker kommunisere med databasen. Siden databasen er uavhengig av selve programvaren, kan du selv velge hvilket DBMS du vil bruke. Forskjellige DBMS kan ha forskjellige funksjoner og forskjellige måter å for eksempel vise fram data og søke i databasen. Et DBMS kan være et frittstående program, eller det kan være web-basert.
En ting som er viktig, er at databasen skal være tilgjengelig for mange brukere samtidig og tillate at flere brukere både kan skrive, lese og endre data samtidig. I tillegg er det viktig at forskjellige brukere har forskjellig tilgangsnivå til databasen. Man vil vanligvis ikke tillate alle brukere å endre eller slette data i databasen. Dette håndteres vanligvis av et DBMS.
Selv om databaser er uavhengige av programvare og filsystemer, fins det flere forskjellige typer databaser. Den mest vanlige typen heter relasjonsdatabase. I en relasjonsdatabase lagres data i tabeller som kobles sammen ved hjelp av felles informasjon. Relasjonsdatabaser håndteres vanligvis ved hjelp av spørrespråket SQL – Structured Query Language, og mange DBMSer er basert på SQL, for eksempel MySQL, PostgreSQL og Microsoft SQL Server. De siste årene har det blitt populært med en type databaser som lagres som kodede tekstfiler (JSON). Disse lagres ofte på webservere og aksesseres ved hjelp av programmeringsspråk som JavaScript eller Python. Dette gjør det enklere å integrere databaser i nettsider. Denne typen databaser har fellesbetegnelsen NoSQL, og eksempel på slike DBMSer er Firebase, MongoDB og CouchDB. Det fins også databaser som er kompatible med både SQL og NoSQL. Et eksempel på dette er MariaDB.