Hvorfor Are Entity Integrity & Referanseintegritet Viktig i en database?

Hvorfor Are Entity Integrity & Referanseintegritet Viktig i en database?


Entity integritet og referanseintegritet er to former for dataintegritet som er særlig viktige i relasjonsdatabaser. Relasjonsdatabaser bryte lagring av data ned til elementer som vanligvis må skjøtes sammen igjen for å produsere meningsfulle resultater. Uten garantier for disse to typene av integritet, vil data bli droppet eller duplisert.

relasjons~~POS=TRUNC databaser~~POS=HEADCOMP

Relasjonsdatabase styringssystemer representerer den mest implementert database modellen i verden i dag. Relasjonsmodellen baserer seg på "Normaliserte" data. Normalisering er en prosess utført i databasen designprosessen for å sikre at bordene holder dataene ikke har gjentatte data og kan ikke skape repetisjon eller tap når de er sammenføyd

Reference data

De fleste databaseapplikasjoner bruker to forskjellige typer data: transaksjonsdata og referansedata. Som et eksempel vil en svært grunnleggende varehusdatabase registrere lager bevegelse transaksjoner. Tenk deg en transaksjon posten som: Element 1010, Antall 5, Direction Out. En leder kan ønske å se en rapport av disse dataene gi navnet elementet og elementet beskrivelse samt varenummeret. Disse detaljene er egenskapene til en annen enhet som beskriver hver del i lageret. Dette er et referansetabell.

normalisering

I varehusdatabasen eksempel, må transaksjoner bord bare for å holde en identifikator for den del. Dersom opplysninger som navn og beskrivelse ble holdt i transaksjoner tabellen, vil dette føre til unødvendig repetisjon. Ethvert element har alltid samme navn og beskrivelse, og disse detaljene knyttet til den delen og ikke til transaksjonen. I dette eksemplet systemet, er de delene detaljer holdes i en annen tabell. Hver post i tabellen har til å bli unikt identifisert ved en felt, eller en kombinasjon av felter, som kalles primærnøkkel. Dele ut gjentakende grupper kalles "normalisering".

Entity Integrity

I varehusdatabasen eksempel, bør primærnøkkelen av deler tabellen være et attributt som identifiserer hver post. Dette er enhet integritet. Vanligvis numeriske felt er bedre for en primærnøkkel enn tekstfelt. I deler tabellen, ville det beste feltet for primærnøkkelen være varenummeret. Organisasjonen kan selge en rekke produkter med samme navn, som "liten skiftenøkkel.» Den Nummer vil alltid være unikt per element, og så dette sikrer enhet integritet for deler tabellen. Hvis flere poster hadde samme primærnøkkelverdien, refererer detaljer fra denne tabellen ved å bli det til transaksjonen bordet ville føre transaksjonen poster å kopiere for å matche med hver post med samme identifikator.

Referanseintegritet

Referanseintegritet sikrer at koblingen mellom transaksjoner bordet og deler tabellen er riktig dannet. I transaksjonen tabellen, danner varenummeret fremmednøkkel, som er den egenskap som linker til primærnøkkelen av deler tabellen. Bare varenumre oppført i deler tabellen kan vises i transaksjonen tabellen. Dette er referanseintegritet. Hvis transaksjoner tabellen inneholder et varenummer som ikke også i deler tabellen, vil bli med i tabellene sammen føre transaksjoner med den manglende varenummeret for å bli tatt ut av resultatene.