Primärnyckel kontra kandidatnyckel
Även om primärnyckeln väljs från kandidatnycklarna finns det en viss skillnad mellan primärnyckeln och de andra kandidatnycklarna, vilket kommer att diskuteras i detalj i den här artikeln. Databasdesign är en av de viktigaste aktiviteterna som bör göras vid underhåll och lagring av data. Under denna designprocess måste olika tabeller med många relationer skapas. För att komma åt dessa tabeller i en databas används olika typer av nycklar i moderna databasdesignspråk som MYSQL, MSAccess, SQLite, etc. Av dessa nycklar har kandidatnycklar och primärnycklar blivit väsentliga i databasdesignpraxis.
Vad är en kandidatnyckel?
Kandidatnyckel är en enda kolumn eller uppsättning kolumner i en tabell i en databas som kan användas för att unikt identifiera vilken databaspost som helst utan att hänvisa till någon annan data. Varje tabell i en databas kan ha en eller flera kandidatnycklar. En uppsättning kandidatnycklar kan skapas genom att använda funktionella beroenden. Det finns några viktiga funktioner i en kandidatnyckel. De är;
• kandidatnycklar ska vara unika inom domänen och de ska inte innehålla några NULL-värden.
• kandidatnyckeln ska aldrig ändras, och den måste ha samma värde för en specifik förekomst av en entitet.
Huvudsyftet med en kandidatnyckel är att hjälpa till att identifiera en enda rad av miljontals rader i en stor tabell. Varje kandidatnyckel är kvalificerad att bli en primärnyckel. Av alla kandidatnycklar kommer dock den viktigaste och mest speciella kandidatnyckeln att bli den primära nyckeln i en tabell och den är den bästa bland kandidatnycklarna.
Vad är en primärnyckel?
En primärnyckel är den bästa kandidatnyckeln i en tabell som används för att unikt identifiera poster som är lagrade i en tabell. När vi skapar en ny tabell i en databas ombeds vi att välja en primärnyckel. Därför är valet av en primärnyckel för en tabell det mest kritiska beslutet som bör tas av en databasdesigner. Den viktigaste begränsningen, som bör beaktas när man bestämmer en primärnyckel, är att den valda kolumnen i tabellen endast ska innehålla unika värden, och den ska inte innehålla några NULL-värden. Några av de primära nycklar som vanligtvis används vid design av tabeller är Social Security Number (SSN), ID och National Identity Card Number (NIC).
Programmeraren bör komma ihåg att välja en primärnyckel noggrant eftersom den är svår att ändra. Därför, enligt programmerarna, är den bästa praxisen för att skapa en primärnyckel att använda en internt genererad primärnyckel såsom Record ID skapad av AutoNumber-datatypen MS Access. Om vi försöker infoga en post i en tabell med en primärnyckel som duplicerar en befintlig post, misslyckas infogningen. Primärnyckelns värde bör inte fortsätta att ändras, så det är viktigare att behålla en statisk primärnyckel.
En primärnyckel är den bästa kandidatnyckeln.
Vad är skillnaden mellan primärnyckel och kandidatnyckel?
• En kandidatnyckel är kolumnen som kvalificerar sig som unik medan primärnyckel är kolumnen som unikt identifierar en post.
• En tabell utan kandidatnycklar representerar ingen relation.
• Det kan finnas många kandidatnycklar för en tabell i en databas, men det bör bara finnas en primärnyckel för en tabell.
• Även om primärnyckeln är en av kandidatnycklarna, är den ibland den enda kandidatnyckeln.
• När en primärnyckel väl har v alts blir de andra kandidatnycklarna unika nycklar.
• Praktiskt taget kan en kandidatnyckel innehålla NULL-värden även om den för närvarande inte innehåller något värde. Därför är kandidatnyckeln inte kvalificerad för en primärnyckel eftersom primärnyckeln inte bör innehålla några NULL-värden.
• Det kan också vara möjligt att kandidatnycklar, som är unika för tillfället, kan innehålla dubbletter av värden som diskvalificerar en kandidatnyckel från att bli en primärnyckel.
Sammanfattning:
Primärnyckel kontra kandidatnyckel
Kandidatnyckel och primärnyckel är viktiga nycklar som används vid design av databaser för att unikt identifiera data i en post och skapa relationer mellan tabeller i en databas. En tabell bör endast innehålla en primärnyckel och kan innehålla mer än en kandidatnyckel. Idag kan de flesta databaser automatiskt generera sin egen primärnyckel. Därför tillhandahåller primärnyckeln och kandidatnycklarna ett flertal stöd till databashanteringssystemen.