Referanseintegritet

situasjon hvor alle datareferanser er gyldige

Referanseintegritet er en egenskap av data som sier at alle referanser er gyldige. I forbindelse med relasjonsdatabaser kreves det at dersom en verdi av en attributt (kolonne) av en relasjon (tabell) refererer til en verdi av en annet attributt (enten i samme eller en annen relasjon), så må også den refererte verdien eksistere.[1]

Et eksempel på en database hvor referanseintegritet ikke har blitt håndhevet. I dette eksemplet er det en fremmednøkkel-verdi (artist_id) i albumtabellen som refererer til en ikke-eksisterende artist. Med andre ord er det en fremmednøkkel-verdi uten tilsvarende primærnøkkel-verdi i den refererte tabellen. I dette tilfellet var det som skjedde at en artisten Aerosmith med artist_id lik 4 ble slettet fra artisttabellen, men albumet Eat the Rich refererte til denne artisten. Dersom referanseintegritet hadde blitt håndhevet ville dette ikke vært mulig.

For at referanseintegritet skal holde i en relasjonsdatabase kan hver kolonne i en tabell det er erklært en fremmednøkkel bare inneholde nullverdier eller verdier fra en foreldretabell sin primærnøkkel eller en kandidatnøkkel.[2] Når en fremmednøkkelverdi brukes må den med andre ord referere til en gyldig, eksisterende primærnøkkel i en foreldretabell. Dersom man for eksempel sletter en oppføring som inneholder en verdi som er referert til av en fremmednøkkel i en annen tabell vil dette bryte referanseintegriteten. Noen databasehåndteringssystemer for relasjonsdatabaser (RDBMS) kan håndheve referanseintegritet, vanligvis enten ved å også slette sekundærnøkkel-rader for å opprettholde integritet, eller ved å returnere en feilmelding og ikke utføre slettingen. Hvilken metode som brukes kan bestemmes av en referanseintegritetsbegrensning definert i en dataordbok.

Adjektivet "referanse" beskriver handlingen som en fremmednøkkel utfører ved å henvise til en lenket kolonne i en annen tabell. Enkelt sagt garanterer referanseintegritet at målet som det refereres til vil bli funnet. Mangel på referanseintegritet i en database kan føre til at relasjonsdatabaser returnerer ufullstendige data, vanligvis uten indikasjon på feil.

Se også rediger

Referanser rediger

  1. ^ Chapple, Mike. «Referential Integrity». About.com. Arkivert fra originalen 25. september 2004. Besøkt 20. mars 2011. 
  2. ^ Coronel et al. (2013). Database Systems 10th ed. Cengage Learning, ISBN 978-1-111-96960-8