Skip to main content

Hur referensintegritet säkerställer databas överensstämmelse

Integritetsvillkor. Säkerhet. Del 1 av 2. (Maj 2025)

Integritetsvillkor. Säkerhet. Del 1 av 2. (Maj 2025)
Anonim

Databaser använder tabeller för att organisera informationen de innehåller. De liknar kalkylblad, till exempel Excel, men är mycket mer kapabla för avancerade användare. Databaser fungerar med hjälp av primärtangenter och främmande nycklar, som upprätthåller förhållandet mellan tabellerna.

Referensintegritet är en databasfunktion i relationsdatabashanteringssystem. Det säkerställer att relationerna mellan tabellerna i en databas förblir korrekta genom att tillämpa begränsningar för att hindra användare eller program från att ange felaktiga data eller peka på data som inte existerar.

Primärnyckel

Den primära nyckeln i en databas tabell är en unik identifierare som tilldelas varje post. Varje tabell har en eller flera kolumner som betecknas som primärnyckel. Ett socialförsäkringsnummer kan vara en viktig nyckel för en databaslista över anställda eftersom varje personnummer är unikt.

Men på grund av integritetshänsyn är ett tilldelat företags ID-nummer ett bättre val att fungera som en primär nyckel för anställda. Vissa databasprogramvaror, till exempel Microsoft Access, tilldelar primärnyckeln automatiskt, men slumpmässiga nyckeln har ingen verklig betydelse. Det är bättre att använda en nyckel med betydelse för posten.

Det enklaste sättet att genomdriva referensintegritet är inte att tillåta ändringar av en primär nyckel.

Främmande nyckel

En utländsk nyckel är en identifierare i ett bord som matchar den primära nyckeln till ett annat bord. Den främmande nyckeln skapar förhållandet till ett annat bord. Referensintegritet avser förhållandet mellan dessa tabeller.

När ett bord har en främmande nyckel till en annan tabell anger konceptet referensintegritet att du inte får lägga till en post i tabellen som innehåller den främmande nyckeln om det inte finns en motsvarande post i det länkade tabellen. Det innehåller också tekniker som kallas kaskad uppdatering och kaskad borttagning, vilket säkerställer att ändringar som görs i det länkade tabellen reflekteras i den primära tabellen.

Exempel på referensintegritetsregler

Tänk på situationen där du har två tabeller: Anställda och chefer. Medarbetare tabellen har en utländsk nyckelattribut som heter ManagedBy, vilket pekar på posten för varje anställds chef i cheferna. Referensintegritet verkställer följande tre regler:

  • Du kan inte lägga till en post i Medarbetar-tabellen om inte attributet ManagedBy pekar på en giltig post i Managers tabellen. Referensintegritet förhindrar införandet av felaktiga uppgifter i en tabell. Varje operation som inte uppfyller referensintegritetsregeln misslyckas.
  • Om den primära nyckeln för en post i Managers tabellen ändras, ändras alla motsvarande poster i Medarbetar-tabellen med hjälp av en kaskad uppdatering.
  • Om en post i Managers tabellen raderas, raderas alla motsvarande poster i Medarbetar-tabellen med en cascading-radering.

Fördelar med referensintegritetsbegränsningar

Att använda ett relationsdatabashanteringssystem med referensintegritet erbjuder flera fördelar:

  • Förhindrar inmatning av dubbla data
  • Förhindrar att ett bord pekar på ett obefintligt fält i en annan tabell
  • Garanterar konsekvens mellan "partner" -tabeller
  • Förhindrar radering av en post som innehåller ett värde som hänvisas till av en utländsk nyckel i en annan tabell
  • Förhindrar tillägg av en post till en tabell som innehåller en främmande nyckel om det inte finns en primär nyckel i det länkade tabellen