Hop til indhold
Software

Database

En database er en struktureret samling af digitale data, der er organiseret på en måde, så programmer og brugere hurtigt kan finde, tilføje, ændre eller slette informationer i den. Selve databasen styres af et databasestyringssystem (DBMS) – et softwarelag der holder styr på, hvor data ligger, hvem der må se dem, og hvordan de kan hentes hurtigt igen. Kendte eksempler på DBMS’er er MySQL, PostgreSQL og SQL Server.

Et hverdagseksempel er en bilannonce-side, hvor tusindvis af biler ligger gemt i en database. Hver bil har et unikt nummer og en række egenskaber som mærke, model, farve og pris. Når en bruger indtaster søgekriterier, gennemsøger systemet ikke hver enkelt annonce manuelt – det slår i stedet op i databasens struktur og finder kun de biler, der matcher. Samme princip gælder, når man søger efter et produkt i en webshop eller sporer en pakke i en leveringsapp.

En database er ikke det samme som et regneark, selv om de kan se ens ud ved første blik. Et regneark er lavet til, at et menneske kan læse og redigere det direkte, mens en database er bygget til, at mange programmer og brugere kan tilgå og opdatere de samme data samtidig, uden at de går i vejen for hinanden eller mister overblikket.

Hvad bruges databaser til?

Databaser bruges til de fire grundlæggende dataoperationer, som ofte kaldes CRUD: at oprette (Create), læse (Read), opdatere (Update) og slette (Delete) data. I praksis ligger databaser bag stort set alle digitale services, man bruger i løbet af en dag – webshoppens ordrehistorik, bankens kontoudtog, det offentliges cpr-register, sociale mediers opslag og en simpel opskriftsapp på mobilen.

En privat udvikler kan sagtens sætte en mindre database op på en almindelig computer til et hobbyprojekt. I en virksomhed kører databasen derimod typisk på en server – en maskine der er indrettet til at holde systemet tilgængeligt kontinuerligt og til at håndtere mange samtidige forespørgsler uden at gå ned.

Hvilke typer databaser findes der?

Databaser deles typisk op i to hovedgrupper, og valget mellem dem afhænger af, hvordan data ser ud, og hvordan de skal bruges.

Relationelle databaser (SQL)

En relationel database gemmer data i tabeller med rækker og kolonner, hvor hver tabel typisk beskriver én slags information – for eksempel kunder, produkter eller ordrer. Tabellerne kan kobles sammen (joines), så man kan hente sammenhængende data fra flere tabeller på én gang. De fleste relationelle databaser bruger SQL (Structured Query Language) til at oprette, søge i, opdatere og slette data, og de bygger ofte på de såkaldte ACID-principper, der skal sikre, at en handling – fx en betaling – enten gennemføres helt eller slet ikke gennemføres, hvis noget går fejl undervejs.

Ikke-relationelle databaser (NoSQL)

Ikke-relationelle databaser, ofte kaldet NoSQL-databaser, gemmer data i mere flydende strukturer i stedet for fastlåste tabeller. Underkategorierne dækker blandt andet:

  • Dokumentdatabaser, der gemmer hver post som et samlet dokument, fx i JSON-format – praktisk til produktkataloger, der ændrer sig ofte.
  • Key-value-databaser, der gemmer data som simple nøgle-værdi-par, fx til hurtig opslag af login-sessioner.
  • Graf-databaser, der fokuserer på relationer mellem data, fx venskaber i et socialt netværk.
  • Vektor-databaser, der gemmer data som matematiske vektorer og bruges til at finde lighed mellem indhold. Denne type kan spille en rolle i forbindelse med generativ AI, hvor tekst og billeder omdannes til vektorer, der kan sammenlignes hurtigt.

Uanset type kan en database placeres på egne servere (on-premises), hos en cloud-udbyder eller som en kombination af begge (hybrid), og valget har betydning for, hvem der står for drift, opdateringer og sikkerhed.

Hvordan vedligeholder man data i en database?

Vedligeholdelse af en database handler om at holde data korrekte, tilgængelige og sikre over tid. Det dækker typisk over flere løbende opgaver:

  • Sikkerhedskopiering (backup), så data kan gendannes, hvis noget går tabt eller ødelægges.
  • Adgangsstyring, hvor det defineres, hvem der må se, redigere eller slette bestemte data – ofte styret af databasen selv og ikke kun af det program, der viser dataene.
  • Normalisering, dvs. at organisere data i tabeller, så samme information ikke gemmes flere steder unødigt, hvilket mindsker risikoen for uoverensstemmelser.
  • Indeksering, hvor der oprettes indekser til hyppigt brugte søgninger, så databasen kan finde relevante data uden at gennemgå hele datamængden hver gang.
  • Opdatering af selve DBMS-softwaren for at lukke sikkerhedshuller og forbedre ydeevnen.

I større organisationer varetages denne vedligeholdelse ofte af en databaseadministrator, mens mange mindre virksomheder i stedet vælger en administreret (managed) cloud-database, hvor udbyderen selv tager sig af backup, opdateringer og overvågning.

Eksempel
En webshop gemmer sit produktkatalog, sine kundedata og sine ordrer i en database, som appen henter oplysninger fra hver gang en bruger søger efter en vare.
Ofte stillede spørgsmål
Hvad er forskellen på en database og et regneark?
Et regneark er lavet til, at et menneske kan læse og redigere det direkte i en fil, mens en database er bygget til, at mange brugere og programmer kan tilgå og opdatere store mængder data samtidig uden at gå i vejen for hinanden.
Hvad er en DBMS?
En DBMS (databasestyringssystem) er den software, der administrerer selve databasen – den håndterer forespørgsler, styrer adgangsrettigheder og sørger for, at data forbliver konsistente. Eksempler er MySQL, PostgreSQL og MongoDB.
Hvilken type database passer bedst til en webshop?
Mange webshops bruger flere typer samtidig: en relationel database til ordrer og betalinger, hvor nøjagtighed er vigtig, og en ikke-relationel database til fx produktkataloger eller sessionsdata, hvor strukturen ændrer sig ofte.
Hvad betyder ACID i forbindelse med databaser?
ACID står for Atomicity, Consistency, Isolation og Durability. Det er et sæt principper, der især bruges i relationelle databaser til at sikre, at en handling som en betaling enten gennemføres helt eller ikke gennemføres overhovedet, hvis noget går fejl.
Hvem vedligeholder en database i praksis?
I større virksomheder er det typisk en databaseadministrator, der står for backup, adgangsstyring og opdateringer. Vælger man i stedet en administreret cloud-database, tager udbyderen sig af en stor del af denne drift.
De fleste databaser i erhvervslivet kører ikke på en almindelig pc, men på en dedikeret maskine bygget til at holde data tilgængelige dag og nat.
Server →