Referanseintegritet er en begrensning brukes på en relasjonsdatabase - en database der data og relasjoner mellom dem er organisert i tabeller med rader og kolonner - slik at inkonsistente data ? er ikke angitt . Mest relasjonsdatabase styringssystemer definere referanseintegritet regler som programmerere gjelder når du oppretter en relasjon mellom to tabeller . Referanseintegritet Rule
hovedsak referanseintegritet sier at en database ikke kan inneholde noen enestående utenlandske viktige verdier. En fremmednøkkel er en kolonne i en database tabell som inneholder verdier også funnet i primærnøkkelen kolonnen - en unik identifikator som betegner en rad i tabellen - i en annen tabell . For eksempel vurdere en database tabell kalt "avdeling ", der en kolonne kalt " dept -no " er den primære nøkkelen . Det relaterer seg til en annen tabell som heter " ansatt ", der " dept_no " er en fremmednøkkel . En arbeidstaker kan ikke tilhører en bestemt avdeling hvis den tilsvarende " dept_no " ikke allerede finnes i " avdeling " tabellen . Hvis du vil legge til ansatte håndhever referanseintegritet , vil ethvert forsøk på å sette en ansatt inn i en ukjent avdeling ikke forekomme.
Fordelene
Bortsett fra at referanser mellom data er intakt og gyldig, definere referanseintegritet i en database har en rekke fordeler. Referanseintegritet bruker eksisterende kode i en database motor i stedet for at programmerere å skrive egendefinert program kode fra bunnen av. Som et resultat , er programmet utviklingen raskere , mindre utsatt for feil og konsekvent på tvers av flere programmer som har tilgang til en database .
Konsekvenser
Dessverre , programmeringsspråk typisk mangler en mekanisme for å håndheve referanseintegritet , og selv når en relasjonsdatabase styringssystem støtter en slik mekanisme , programmerere ofte ikke klarer å bruke den. Konsekvensene av å ignorere referanseintegritet er programkode som inneholder feil, eller feil , utfører dårlig og er vanskelig å utvide
Enforcement
Programmerere kan håndheve referanseintegritet. - og unngå "orphan " poster i en database - ved å aktivere den for en relasjon mellom to tabeller . I Microsoft Access , for eksempel håndheve referanseintegritet fører enhver operasjon som ville krenke referanseintegritet å bli avvist. Slike operasjoner inkluderer oppdateringer til en database som endrer målet for en referanse, eller slettinger som fjerner målet for en referanse. Videre inneholder Microsoft Access også et sett med alternativer , kjent som " kaskade " alternativer . Disse valgene gir referansebegrensninger oppdateringer og slettinger skal spres i hele databasen , slik at alle relaterte rader endres tilsvarende.