Primær nøgle vs kandidatnøgle
Selvom primærnøgle er valgt blandt kandidatnøglerne, findes der en vis forskel mellem primærnøglen og de andre kandidatnøgler, som vil blive diskuteret detaljeret i denne artikel. Databasedesign er en af de vigtigste aktiviteter, der skal udføres ved vedligeholdelse og lagring af data. Under denne designproces skal der oprettes forskellige tabeller med mange relationer. For at få adgang til disse tabeller i en database bruges forskellige typer nøgler i moderne database, der designer sprog som MYSQL, MSAccess, SQLite osv. Ud af disse nøgler er kandidatnøgler og primære nøgler blevet afgørende i databasedesignpraksis.
Hvad er en kandidatnøgle?
Kandidatnøgle er en enkelt kolonne eller et sæt kolonner i en tabel i en database, der kan bruges til entydigt at identificere enhver database-post uden at henvise til andre data. Hver tabel i en database kan have en eller flere end en kandidatnøgler. Et sæt kandidatnøgler kan oprettes ved hjælp af funktionelle afhængigheder. Der er nogle vigtige funktioner i en kandidatnøgle. De er;
• kandidatnøgler skal være unikke inden for domænet, og de bør ikke indeholde nogen NULL-værdier.
• kandidatnøglen bør aldrig ændre sig, og den skal have den samme værdi for en bestemt forekomst af en enhed.
Hovedformålet med en kandidatnøgle er at hjælpe med at identificere en enkelt række ud af millioner af rækker i et stort bord. Hver kandidatnøgle er kvalificeret til at blive en primær nøgle. Men ud af alle kandidatnøglerne bliver den vigtigste og specielle kandidatnøgle den primære nøgle i en tabel, og den er den bedste blandt kandidatnøglerne.
Hvad er en primær nøgle?
En primær nøgle er den bedste kandidatnøgle i en tabel, der bruges til entydigt at identificere poster, der er gemt i en tabel. Når du opretter en ny tabel i en database, bliver vi bedt om at vælge en primær nøgle. Derfor er valg af en primær nøgle til en tabel den mest kritiske beslutning, der skal træffes af en databasedesigner. Den vigtigste begrænsning, som skal overvejes, når man beslutter en primær nøgle, er at den valgte kolonne i tabellen kun skal indeholde unikke værdier, og at den ikke skal indeholde nogen NULL-værdier. Nogle af de primære nøgler, der ofte bruges ved design af tabeller, er Social Security Number (SSN), ID og National Identity Card Number (NIC).
Programmøren skal huske at vælge en primær nøgle omhyggeligt, fordi det er svært at ændre. Derfor er den bedste fremgangsmåde ved oprettelse af en primær nøgle ifølge programmørerne at bruge en internt genereret primær nøgle såsom Record ID oprettet af AutoNumber datatype MS Access. Hvis vi forsøger at indsætte en post i en tabel med en primær nøgle, der duplikerer en eksisterende post, mislykkes indsættelsen. Den primære nøgleværdi bør ikke fortsætte med at ændre sig, så det er vigtigere at holde en statisk primærnøgle.
En primær nøgle er den bedste kandidatnøgle.
Hvad er forskellen mellem primær nøgle og kandidatnøgle?
• En kandidatnøgle er den kolonne, der kvalificerer sig som unik, mens den primære nøgle er den kolonne, der entydigt identificerer en post.
• En tabel uden kandidatnøgler repræsenterer ikke nogen relation.
• Der kan være mange kandidatnøgler til en tabel i en database, men der skal kun være en primær nøgle til en tabel.
• Selvom den primære nøgle er en af kandidatnøglerne, er den undertiden den eneste kandidatnøgle.
• Når først en primær nøgle er valgt, bliver de andre kandidatnøgler unikke nøgler.
• Praktisk talt kan en kandidatnøgle indeholde NULL-værdier, selvom den i øjeblikket ikke indeholder nogen værdi. Derfor er kandidatnøglen ikke kvalificeret til en primær nøgle, fordi den primære nøgle ikke skal indeholde nogen NULL-værdier.
• Det kan også være muligt, at kandidatnøgler, som er unikke i øjeblikket, kan indeholde duplikatværdier, der diskvalificerer en kandidatnøgle fra at blive en primær nøgle.
Resumé:
Primær nøgle vs. kandidatnøgle
Kandidatnøgle og primærnøgle er vigtige nøgler, der bruges til at designe databaser for entydigt at identificere data i en post og skabe relationer mellem tabeller i en database. En tabel bør kun indeholde en primær nøgle og kan indeholde mere end én kandidatnøgler. I dag er de fleste databaser i stand til automatisk at generere deres egen primære nøgle. Derfor giver den primære nøgle og kandidatnøgler en række understøttelser til databasestyringssystemerne.
Billeder med tilladelse: