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, er konseptet en primær nøkkel 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; Det må med andre ord vise seg umulig å hente flere poster av SEbuing for 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 persons etternavn brukes som den primære nøkkelen. Siden mer enn én person kan dele et etternavn, kan du legge inn "Smith" eller "Jones" som søkekriteriene muligens kunne 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 ennull, eller tom, 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 ansattes post være umulig å identifisere ved å bruke den primære nøkkelen og ugyldiggjøre integriteten til databasen.