Databaser
En database er helt grundlæggende "bare" en samling af data. En database er en måde at organisere data på, så man får en struktureret, systematisk og søgbar samling af ensartet information.
Relationelle databaser
I en relationel database er informationen opdelt i tabeller (entiteter), som ofte har relationer til hinanden. Entiteter er fænomener, der kan knyttes oplysninger til, fx en person, en bygning, en sag eller en bog. Forekomster af en entitet samles i en tabel, hvor de enkelte typer af oplysninger om entiteten findes i separate kolonner (felter eller attributter). Samlingen af oplysninger om én bestemt entitet kaldes en række (record eller tuple). Hver tabel har typisk en primærnøgle, som består af et eller flere felter i tabellen. Primærnøglen skaber en unik identifikation af hver enkelt række i tabellen. En fremmednøgle er et felt i en tabel, som peger på en primærnøgle i en anden tabel og dermed skaber relation mellem de to tabeller. En oversigt over en relationel databases entiteter og relationer kaldes et E/R-diagram.
Hierarkiske databaser
Hierarkiske databaser er en ældre type af databaser, hvor data findes i en slags træstruktur. Det betyder, at informationen kun kan fremsøges ved at følge den ”sti”, som strukturen lægger op til. En post i en hierarkisk database kan som ”parent” have flere underposter (”children”), som igen kan opdeles i underposter. Hvis vi gentager bibliotekseksemplet fra før, vil man skulle vælge organiseringen og dermed fremsøgningsmulighederne på forhånd. Hvis den hierarkiske database fx organiseres ud fra forfattere, med den eller de relevante bøger tilknyttet som underposter, kan man kun bruge forfatternavn som fremsøgningskriterium. Hvis man omvendt organiserer strukturen efter bogtitel med den eller de relevante forfattere tilknyttet som underposter, kan man kun bruge bogtitel som fremsøgningskriterium.
Netværksdatabaser
En netværksdatabase er også en ældre type af databaser, som mindre meget om den hierarkiske model, dog med noget større fleksibilitet. I en netværksdatabase er der flere muligheder for at registrere sammenhænge mellem informationer end blot parent-child relationer. Hver record kan have flere ”parents” (”owners”) og flere ”children” (”members”), således at der kan dannes et mere komplekst net af relationer.
Selv om netværksmodellen giver større fleksibiliet end den hierarikiske model, er netværksdatabaser dog ligledes stort set erstattet af relationelle databaser, som tilbyder en endnu højere grad af fleksibilitet.
Objektorienterede databaser
I en objektorienteret databasemodel er data organiseret i objekter. Et objekt indkapsler data og funktionalitet (adfærd). Databasen kan på den måde siges at være integreret med applikation, hvorimod der i en relationel database er en klar skelnen mellem applikation og databasemodel.
En klasse i en objektorienteret database svarer til en tabel i en relationel struktur og en instans af klassen/objektet svarer til en række i tabellen. Objektorienterede databaser er velegnede til meget komplekse data.
Databasehåndteringssystemer
Oprettelse og håndtering af databaser sker ved hjælp af et databasehåndteringssystem (Database Management System – DBMS). Et databasehåndteringssystem består af en datamodel for informationsindholdet i databasen, en databasemotor (database engine) og et databasesprog, dvs. det sprog, der anvendes til at definere og manipulere indholdet i databasen. Det mest almindelige databasesprog er SQL – Structured Query Language.
Eksempler på databasehåndteringssystemer er Access, MS SQL Server, Oracle og MySQL.
Med inspiration fra (og tak til) digitalbevaring.dk