Kardinalitet (datamodellering)

Den indledende del af denne artikel skal muligvis omskrives. Den angivne årsag er: Ingen definition i indledningen. Brug vejledningen til layout af indledningen for at sikre, at afsnittet følger Wikipedias normer og indeholder alle væsentlige detaljer. (Oktober 2019) (Lær hvordan og hvornår du kan fjerne denne skabelonbesked)

Kardinaliteten af et join mellem to tabeller er det numeriske forhold mellem rækker i den ene tabel og rækker i den anden tabel. Almindelige kardinaliteter omfatter en-til-en, en-til-mange og mange-til-mange.

Tænk f.eks. på en database med elektroniske sundhedsjournaler. En sådan database kunne indeholde tabeller som følgende:

  • En doctortabel med oplysninger om læger.
  • En patienttabel for medicinske emner i behandling.
  • En encountertabel med en post for hvert hospitalsbesøg.

Naturlige relationer findes mellem disse enheder, f.eks. et møde, der involverer mange læger. Der er en mange-til-mange-relation mellem posterne i doctor og posterne i patient, fordi lægerne har mange patienter, og patienterne kan se mange læger. Der er en en-til-mange-relation mellem posterne i patient og posterne i encounter, fordi patienter kan have mange møder, og hvert møde kun involverer én patient.

En “en-til-en”-relation bruges oftest til at dele en tabel i to for at give oplysninger kortfattet og gøre dem mere forståelige. I sygehuseksemplet kunne en sådan relation bruges til at holde lægernes egne unikke faglige oplysninger adskilt fra administrative detaljer.

I datamodellering grupperes samlinger af dataelementer i “datatabeller”, som indeholder grupper af datafeltnavne, der kaldes “databaseattributter”. Tabellerne er forbundet ved hjælp af “nøglefelter”. En “primærnøgle” tildeler et felt til sin “specialordnetabel”. F.eks. kan feltet “Doctor Last Name” tildeles som primærnøgle til tabellen Doctor, hvor alle personer med samme efternavn organiseres alfabetisk efter de tre første bogstaver i deres fornavn. En tabel kan også have en fremmed nøgle, som angiver, at feltet er knyttet til primærnøglen i en anden tabel.

En kompleks datamodel kan omfatte hundredvis af relaterede tabeller. Computerforskeren Edgar F. Codd skabte en systematisk metode til at dekomponere og organisere relationelle databaser. Codd’s trin til organisering af databasetabeller og deres nøgler kaldes databasenormalisering, som undgår visse skjulte database-designfejl (sletteanomalier eller opdateringsanomalier). I det virkelige liv ender processen med databasenormalisering med at opdele tabellerne i et større antal mindre tabeller.

I den virkelige verden er datamodellering afgørende, fordi efterhånden som dataene vokser i omfang, skal tabeller, der er forbundet med nøgler, bruges til at fremskynde programmeret hentning af data. Hvis en datamodel er dårligt udformet, vil selv et edb-applikationssystem med kun en million poster give slutbrugerne uacceptable forsinkelser i svartiden. Derfor er datamodellering en hjørnesten i de færdigheder, som en moderne softwareudvikler har brug for.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.