Databaser bruker tabeller for å organisere informasjonen de inneholder. De ligner regneark, for eksempel Excel, men langt mer i stand til avanserte brukere. Databaser fungerer ved bruk av primærnøkler og utenlandske nøkler, som opprettholder forholdet mellom tabellene.
Referanseintegritet er en databasefunksjon i relasjonsdatabasebehandlingssystemer. Det sikrer at forholdene mellom tabeller i en database forblir nøyaktige ved å bruke begrensninger for å hindre at brukere eller applikasjoner skriver inn unøyaktige data eller peker på data som ikke eksisterer.
Primærnøkkel
Den primære nøkkelen til en databasetabell er en unik identifikator som er tilordnet hver plate. Hver tabell har en eller flere kolonner utpekt som primærnøkkel. Et personnummer kan være en primærnøkkel for en databaseoppføring av ansatte fordi hvert personnummer er unikt.
På grunn av personvernproblemer er et tildelt selskaps ID nummer et bedre valg å fungere som en primærnøkkel for ansatte. Enkelte databaseprogrammer, for eksempel Microsoft Access, tilordner primærnøkkelen automatisk, men tilfeldig nøkkel har ingen reell betydning. Det er bedre å bruke en nøkkel med betydning for posten.
Den enkleste måten å håndheve referanseintegritet, er ikke å tillate endringer i en primærnøkkel.
Utenlandsnøkkel
En fremmed nøkkel er en identifikator i et bord som samsvarer med primærnøkkelen til et annet bord. Den fremmede nøkkelen oppretter forholdet til et annet bord. Referanseintegritet refererer til forholdet mellom disse tabellene.
Når ett bord har en fremmednøkkel til et annet bord, oppgir begrepet referanseintegritet at du ikke kan legge til en post i tabellen som inneholder fremmednøkkelen, med mindre det er en tilsvarende post i det koblede tabellen. Den inkluderer også teknikkene kalt Cascading Update og Cascading Delete, som sikrer at endringer som er gjort i det koblede tabellen, reflekteres i hovedtabellen.
Eksempel på referanseintegritetsregler
Tenk for eksempel situasjonen der du har to tabeller: Ansatte og ledere. Medarbeiderbordet har en utenlandsk nøkkelattributt med navnet ManagedBy, som peker på posten for hver ansattes leder i Managers tabellen. Referanseintegritet håndhever følgende tre regler:
- Du kan ikke legge til en post i Medarbeider-tabellen med mindre Administrert-attributten peker til en gyldig post i Managers tabellen. Referanseintegritet forhindrer innsetting av feilaktige detaljer i en tabell. Enhver operasjon som ikke tilfredsstiller referanseintegritetsregelen, mislykkes.
- Hvis primærnøkkelen for en post i administratortabellen endres, endres alle tilsvarende poster i tabellene Ansatte ved hjelp av en kaskad oppdatering.
- Hvis en plate i Managers-tabellen slettes, slettes alle tilsvarende poster i Medarbeider-tabellen ved hjelp av en kaskad sletning.
Fordeler med referanseintegritetsbegrensninger
Bruke et relasjonsdatabasebehandlingssystem med referanseintegritet har flere fordeler:
- Forhindrer oppføring av dupliserte data
- Forhindrer at ett bord peker til et ikke-eksisterende felt i et annet bord
- Garanterer konsistens mellom "partnered" tabeller
- Forhindrer sletting av en plate som inneholder en verdi som refereres til av en fremmednøkkel i en annen tabell
- Forhindrer tillegg av en post til et bord som inneholder en fremmed nøkkel, med mindre det er en primærnøkkel i det koblede tabellen




