Viktig!: Denne artikkelen er maskinoversatt, se ansvarsfraskrivelsen. Du finner den engelske versjonen av artikkelen her som referanse.
Hva vil du gjøre?
Forstå regler for referanseintegritet
Regler for referanseintegritet hindrer at databasebrukere bryter tilordningene mellom relaterte kolonner ved et uhell.
Vi kan for eksempel si at du har en database kalt Bøker med to tabeller kalt Titler og Forfattere. I dette eksempelet har hver tittel bare én forfatter, men hver forfatter kan ha flere titler, noe som skaper det som kalles en en-til-mange-relasjon. Tabellen på "en"-siden av relasjonen kalles den overordnede tabellen, og tabellen på "mange"-siden kalles den underordnede tabellen.
For å kunne samle informasjon om hver bok og forfatteren, bruker en spørring nøkler til å samsvare hver bok i Titler-tabellen med forfatteren i Forfatter-tabellen. Den overordnede tabellen (Forfattere) må ha en primærnøkkel som identifiserer hver rad entydig. Titler-tabellen må ha en kolonne som inneholder forfatter-IDen for hver tittel. Denne kolonnen kalles sekundærnøkkelen. Primærnøkkelen identifiserer hver forfatter, og sekundærnøkkelen identifiserer hvilke bøker som er skrevet av hvilken forfatter.
Hvis en bruker endrer forfatter-IDen for forfatteren i den overordnede tabellen, uten å oppdatere forfatter-IDen i Titler-tabellen, har ikke lenger bøkene i Titler-tabellen en gyldig forfatter.
I stedet for å måtte endre forfatter-IDen i begge tabellene, kan du angi regler for referanseintegritet for å utføre ønsket handling. Du kan velge at databasemodellen skal utføre en bestemt handling når en nøkkel endres eller slettes i den overordnede tabellen.
Obs!: Ordene overordnet og underordnet brukes betyr noe helt annet i kategorier, som er opprettet med overordnet til kategori, kategori og kategori til underordnet figurene. Hvis du vil ha mer informasjon om kategorier kan du se definere kategorier i en databasemodell.
Angi handlinger for referanseintegritet
-
Dobbeltklikk relasjonen du vil angi en referansehandling for.
-
Klikk Ref.handling i vinduet Egenskaper for database under Kategorier.
-
Klikk handlingen du vil at databasen skal utføre for tilsvarende verdi i den underordnede tabellen. Du kan velge mellom følgende handlinger:
-
Ingen handling Når en verdi i primærnøkkelen for en overordnet tabell endres eller slettes, skal tilsvarende verdi i sekundærnøkkelen for den underordnede tabellen være uendret.
-
Overlappet Når en verdi i primærnøkkelen for en overordnet tabell endres eller slettes, skal tilsvarende verdi i sekundærnøkkelen for den underordnede tabellen endres eller slettes for å samsvare med primærnøkkelen.
-
Angi nullverdi Når en verdi i primærnøkkelen for en overordnet tabell endres eller slettes, skal tilsvarende verdi i sekundærnøkkelen for den underordnede tabellen settes til null.
-
Bruk standard Når en verdi i primærnøkkelen for en overordnet tabell endres eller slettes, skal tilsvarende verdi i sekundærnøkkelen for den underordnede tabellen settes til en standardverdi du velger.
-
Ikke gjennomfør Denne handlingen deaktiverer regler for referanseintegritet for denne relasjonen.
-
Obs!: Hvis alternativene Angi nullverdi og Bruk standard deaktiveres, settes sannsynligvis relasjonen til Valgfri i kategorien Diverse i vinduet Egenskaper for database for relasjonen.
Angi en standardverdi for en kolonne
Du kan bruke handlingen Bruk standard ved å angi en standardverdi for kolonnen.
-
Dobbeltklikk tabellen i diagrammet for å åpne vinduet Egenskaper for database.
-
Klikk Kolonner under Kategorier, klikk kolonnen du vil opprette en standardverdi for, og klikk deretter Rediger.
-
Angi en standardverdi i dialogboksen Egenskaper for kolonne i kategorien Definisjon.
Vise referanseintegritet ved hjelp av notasjon
Du kan angi at alternativene for dokument skal skjule eller vise referanseintegritetsnotasjon ved siden av relasjonslinjene i modellen.
Hva betyr bokstavene i notasjon for referanseintegritet?
Referanseintegritetsnotasjon viser relasjoner med to bokstaver som er atskilt av et kolon, i formen [handling utført i den overordnede tabellen]:[resultat i den underordnede tabellen]. Eksempelvis betyr d:C at når noe slettes i den overordnede tabellen, overlappes endringen til den underordnede tabellen.
Handlinger i den overordnede tabellen angis med liten bokstav:
-
u Dataene i den overordnede tabellen er oppdatert.
-
d dataene i den overordnede tabellen er slettet.
Resultater i den underordnede tabellen angis med stor bokstav:
-
R Ingen handling Ikke endre den underordnede tabellen.
-
C Overlappet Dupliser endringen i den underordnede tabellen.
-
D Bruk standard Sett inn standardverdien du angav tidligere for den aktuelle kolonnen i den underordnede tabellen.
-
N Angi nullverdi Angi den underordnede tabellen til NULL.
-
(Tom) Ikke fremhev referanseintegritet for denne relasjonen.
Obs!: Disse innstillingene påvirker det som skjer i en virkelig database i stedet for i en modell. I en modell som du utfører omvendt utvikling av fra en eksisterende database, kan du se hvordan databasen er utformet med hensyn til referanseintegritet. I en modell du oppretter fra grunnen av, kan du bruke disse innstillingene til å dokumentere dine ønsker for virkemåten til databasen du modellerer.
Vise referanseintegritet
-
Velg Alternativer på Database-menyen, og klikk Dokument.
-
Merk av for Referanseintegritet i kategorien Relasjoner under Vis.