Vad är enhetens integritet?
Enhetsintegritet är en av de primära reglerna för effektiv databaskonstruktion. Den hänvisar till processen för att verkställa en primär nyckel för varje tabell i en databas, där nyckeln måste vara antingen en rad eller en kombination av rader som är unika värden som inte är noll. Genom att bibehålla enhetens integritet kan varje post i varje tabell i en databas identifieras specifikt via den primära nyckeln. Detta förhindrar duplicerade poster och andra problem som indirekt skulle äventyra databasens integritet. I avsaknad av enhetens integritet kan posten i en databas överlappas av misstag, eftersom det inte finns något sätt att plocka en specifik post från tabellen.
När man överväger den första delen av enhetens integritet, ett "unikt" värde, är begreppet en primär nyckel viktigt att förstå. En primär nyckel i en databas är ett värde som används för att specifikt identifiera varje enskild post. För att vara effektiv måste en primär nyckel vara unik; med andra ord, det måste visa sig vara omöjligt att hämta flera poster genom att söka efter en enda primärnyckel. Ett personnummer skulle vara en bra primärnyckel för en databas med fokus på individuella personliga poster i USA, eftersom två personer aldrig har samma nummer. Den som söker i databasen efter ett specifikt personnummer skulle per definition bara hämta en enda post åt gången.
För att se de problem som uppstår i frånvaro av enhetens integritet genom unika primära nycklar kan man bilda en databas där en individs efternamn används som den primära nyckeln. Eftersom mer än en person kan dela ett efternamn kan du ange "Smith" eller "Jones" som sökkriterier möjligen producera dussintals poster. Om detta händer ifrågasätts databasens integritet eftersom slutanvändaren inte längre har en metod för att hämta enskilda poster.
Den andra delen av enhetens integritet säger att värdet som valts som primärnyckel aldrig får vara ett null- eller tomtvärde för något objekt i databasen. Om det primära nyckelvärdet förblev ogiltigt för en eller flera poster i databasen, skulle vissa poster bli omöjliga att hämta, eftersom ett nullvärde är otillräckligt för att identifiera dessa poster på ett unikt sätt. Med andra ord, om ett socialförsäkringsnummer används som den primära nyckeln och en anställd inte kommer från USA och därmed inte har en, kommer den utländska anställds post att vara omöjlig att identifiera med den primära nyckeln, vilket ogiltigförklarar databasens integritet .