Relasjonsmodellen er en mye brukt datamodell for databaser hvor dataene er organisert som tabeller med et fast oppsett eller skjema. Når man lager en enkelt tabell så definerer man hvilke kolonner tabellen skal ha, mens radene blir satt inn etter hvert.

Hver rad representerer et objekt eller innslag i databasen. For eksempel i en tabell over gjenstander funnet i arkeologiske utgravinger, er hver rad en enkelt gjenstand. Hver kolonne representerer en egenskap eller attributt som man ønsker å lagre om gjenstandene i databasen.

Navnet «relasjonsmodellen» kommer av matematiske relasjoner fra mengdelæren.

Et eksempel

Her er et eksempel på et skjema for en database for gjenstander funnet under arkeologiske utgravinger med tabellnavn og navn på kolonnene i parentes etter.

Gjenstand (id, beskrivelse, type, datering, bilde, funnsted_id)

Funnsted (id, navn, type, utstrekning, datering)

Eksempel på en enkel relasjonsmodell
Eksempel på en relasjonsmodell: Arkeologiske gjenstander og funnsted
Eksempel på en enkel relasjonsmodell
Lisens: CC BY SA 3.0

Tabellregler

  • Alle attributter er atomiske, det vil si at de representerer bare en enket ting og bare har en enkelt verdi.
  • Ingen rader er identiske
  • Radene har ingen definert orden (ingen sortering)
  • Tabellen skal ha en primærnøkkel. Verdien i primærnøkkel identifiserer hver rad unikt.

Primærnøkkel er en attributt eller en gruppe attributter som til sammen gir en entydig identifikasjon for en rad i tabellen. Det innebærer også at attributter som inngår som nøkkelattributt ikke kan ha verdien NULL. NULL står for en verdi som ikke er gitt, eller som ikke er relevant for akkurat denne raden – kombinasjon av verdier for de andre attributtene i raden.

Fremmednøkler

Hvis man fra en rad i en tabell ønsker å referere til en annen rad, gjerne i en annen tabell, bruker man fremmednøkler. En fremmednøkkel inneholder verdien fra primærnøkkel til raden man ønsker å referere til. Det kan være mange fremmednøkler i en tabell. Fremmednøkkel kan ha verdien NULL. For sikre seg at en fremmednøkkel faktisk viser til en eksisterende rad, kan en definere referanseintegritet for en fremmednøkkel. I eksempel-databasen er attributtet «funnsted_id» i tabellen gjenstand en fremmednøkkel til id-en i Funnsted tabellen. Så gjenstanden med id 1 ble funnet på funnsted med id 1.

Historie

Relasjonsmodellen ble utviklet av Edgar Frank Codd på 1960-tallet og presentert i den banebrytende artikkelen «A Relational Model of Data for Large Shared Data Banks» fra 1970. Codd var matematiker, noe som terminologien for relasjonsmodellen er preget av. Data er lagret i tabeller eller relasjoner, og det er satt opp regler for hvordan relasjoner kan utformes. Codd definerte også hvordan data skal manipuleres ved å utvikle en relasjonsalgebra. Relasjonsalgebra er operasjoner med tabeller som operander og tabeller som resultat.

Litteratur

  • E.F. Codd: «A Relational Model of Data for Large Shared Data Banks», CACM, 13:6, juni 1970

Kommentarer

Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.

Du må være logget inn for å kommentere.

eller registrer deg