Referensintegritet är en begränsning tillämpas på en relationsdatabas - en databas där data och relationer mellan dem är organiserade i tabeller med rader och kolumner - så att inkonsekventa uppgifter ? bokförs inte . Mest relationsdatabas management system definiera referensintegritet regler som programmerare gäller när du skapar en relation mellan två tabeller . Referensintegritet Regel
huvudsak referensintegritet anges att en databas inte kan innehålla några oöverträffade värden för främmande nycklar . En främmande nyckel är en kolumn i en databas tabell som innehåller värden även finns i primärnyckelkolumn - en unik identifierare som märker en rad i tabellen - i en annan tabell . Till exempel anser en databas tabell som heter " avdelning " , där en kolumn som heter " dept - nej " är den primära nyckeln . Den hänför sig till en annan tabell som heter " anställd " , där " dept_no " är en främmande nyckel . En anställd kan inte tillhöra en särskild avdelning om motsvarande " dept_no " inte redan finns i " departementet " tabellen . Om programmet för att lägga till anställda upprätthåller referentiell integritet , kommer alla försök att infoga en anställd i en okänd avdelning förekommer inte .
Fördelar
Bortsett från att se till att hänvisningar mellan uppgifter är intakta och giltiga , definiera referentiell integritet i en databas har många fördelar . Referensintegritet använder befintlig kod i en databas motor i stället kräva programmerare att skriva egna program kod från scratch . Som ett resultat , är programutveckling snabbare , mindre benägna att fel och konsekvent över flera tillämpningsprogram som en databas.
Konsekvenser
Tyvärr , programspråk vanligtvis saknar en mekanism för att upprätthålla referensintegritet och även när en relationsdatabas management system stödjer en sådan mekanism , programmerare ofta misslyckas med att använda den . Konsekvensen av att ignorera referensintegritet är programkod som innehåller fel , eller buggar , fungerar dåligt och är svårt att förlänga
Enforcement
Programmerare kan referensintegritet . - och undvika "föräldralösa " poster i en databas - genom att aktivera den för en relation mellan två tabeller . I Microsoft Access , till exempel , upprätthålla referensintegritet orsakar någon åtgärd som strider mot referensintegritet avslås . Sådana operationer inkluderar uppdateringar till en databas som ändrar målet i en referens , eller strykningar som tar bort målet för en referens . Dessutom innehåller Microsoft Access också en uppsättning alternativ , som kallas " kaskad " alternativen . Dessa alternativ tillåter referentiell uppdateringar och strykningar som sprids över hela databasen , så att alla relaterade rader ändras i enlighet med detta .