Skip to main content

Hva er Entity Integrity?

Enhetsintegritet er en av de viktigste reglene for effektiv databasekonstruksjon.Det refererer til prosessen med å håndheve en primærnøkkel for hver tabell i en database, der nøkkelen må være enten en rad eller en kombinasjon av rader som er unike ikke-nullverdier.Ved å opprettholde enhetsintegritet, kan hver post i hver tabell i en database spesifikt identifiseres via den primære nøkkelen.Dette forhindrer dupliserte poster og andre problemer som indirekte vil kompromittere databasens integritet.I mangel av enhetsintegritet, kan oppføringene i en database ved et uhell overlappe hverandre, da det ikke vil være noen måte å plukke en spesifikk oppføring fra tabellen.

Når du vurderer den første delen av Entity Integrity, en unik verdi, konseptet med enPrimærnøkkel er viktig å forstå.En primærnøkkel i en database er en verdi som brukes til å identifisere hver enkelt post.For å være effektiv, må en primær nøkkel være unik;Med andre ord, det må vise seg umulig å hente flere poster ved å søke etter en enkelt primærnøkkel.Et personnummer vil være en god primærnøkkel for en database med fokus på individuelle personlige poster i USA, siden to personer aldri har samme nummer.Alle som søker i databasen etter et spesifikt personnummer, vil per definisjon bare hente en enkelt post om gangen.

For å se problemene som oppstår i fravær av enhetsintegritet gjennom unike primærnøkler, kan man forestille seg en database der en individuell etternavn brukes som den primære nøkkelen.Siden mer enn én person kan dele et etternavn, kan du legge inn Smith eller Jones ettersom søkekriteriene muligens kan produsere dusinvis av poster.Hvis dette skjer, er integriteten til databasen i spørsmål fordi sluttbrukeren ikke lenger har en metode for å hente individuelle poster.

Den andre delen av Entity Integrity sier at verdien som er valgt som den primære nøkkelen aldri må være en null, ellertom, verdi for ethvert element i databasen.Hvis den primære nøkkelverdien forble null for ett eller flere poster i databasen, ville visse poster bli umulige å hente, da en nullverdi er utilstrekkelig til å identifisere disse postene unikt.Med andre ord, hvis et personnummer brukes som den primære nøkkelen og en ansatt ikke er fra USA og dermed ikke har en, vil den utenlandske ansatte -posten være umulig å identifisere ved å bruke den primære nøkkelen, og ugyldiggjøre integriteten til databasen.