Databaser

Databaser er komplekse samlinger af data, struktureret i tabeller med relationer på kryds og tværs. Det er let at bevare en enkelt tabel, men straks mere kompliceret at bevare relationerne mellem tabellerne.

Hvad er en database?

Data er en ordnet samling af digital information, lagret binært som bits og bytes. Ordet ”data” er afledt af det latinske ord for at give, og betyder ”det, der er givet”. En database er en måde at organisere data på, således at man får en struktureret, systematisk og søgbar samling af ensartet information, som kan behandles via et databasesystem.

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.

I en biblioteksdatabase, kan der eksempelvis være en tabel med forfattere, som indeholder navn og andre oplysninger knyttet til forfatterne, samt en bogtabel med oplysninger om de bøger, som biblioteket indeholder. I databasen vil der være en relation mellem forfatter- og bogtabellen, således at det fremgår, hvilken sammenhæng der er mellem de enkelte forfattere og de enkelte bøger. Man kan dermed tilgå data fra begge vinkler, hvilket vil sige, at man med udgangspunkt i forfattertabellen vil kunne finde ud af, hvilke bøger en bestemt forfatter har skrevet, og med udgangspunkt i bogtabellen vil man kunne se, hvilken forfatter, der har skrevet en bestemt bog.

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.

Hvordan bevarer man databaser?

Når data fra den offentlige forvaltnings databaser skal afleveres til arkiv, er det grundlæggende princip, at arkiveringen skal ske i systemuafhængig form. Det betyder, at data skal kunne tilgås og behandles uafhængigt af det databasesystem, hvor de er skabt og lagret. Bevaring af databaser sker derfor i form at et udtræk af data i standardiserede formater samt en standardiseret beskrivelse af databasens tabeller og felter.

For at kunne håndtere store mængder data fra mange afleveringer over meget lang tid er der valgt en standard for arkiveringsversioner, der benytter sig af den relationelle databasestruktur. De fleste af forvaltningens systemer bygger på denne struktur, og andre lader sig omsætte til den. Der findes ganske vist stadig enkelte hierarkiske databaser i brug, der ikke umiddelbart lader sig omsætte i relationel form. I forbindelse med forberedelse af en aflevering træffer det modtagende arkiv og den afleverende myndighed nærmere aftale om, hvordan en hierarkisk database skal afleveres. Ved aflevering til offentligt arkiv i Danmark opmærkes de relationelle data i XML efter SIARD-standarden (Software Independent Archiving of Relational Databases).

Læs mere om databaser i artiklen Hvad er en datamodel for en database?.

Jan Dalsten Sørensen, Rigsarkivet, maj 2011. Revideret januar 2015.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *