Forskel mellem primærnøgle og kandidatnøgle | Primærnøgle vs Kandidatnøgle
Selvom primærnøglen er valgt fra kandidatnøglerne, forekommer der en vis forskel mellem primærnøglen og de andre kandidatnøgler, som vil blive diskuteret i detaljer i denne artikel. Databasedesign er en af de vigtigste aktiviteter, der skal gøres ved opretholdelse 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, anvendes 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 vigtige i databasedesignepraksis.
Hvad er en kandidatnøgle?Kandidatnøgle er en enkelt kolonne eller et sæt af kolonner i en tabel i en database, som kan bruges til
identificere en database database entydigt uden at henvise til andre data . Hver tabel i en database kan have en eller flere kandidatnøgler. Et sæt kandidatnøgler kan oprettes ved hjælp af funktionelle afhængigheder. Der er nogle vigtige træk i en kandidatnøgle. De er;
• Kandidatnøglen bør aldrig ændres, og den skal have 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øgler bliver den vigtigste og specielle kandidatnøgle den primære nøgle i et bord, og det er det bedste blandt kandidatnøglerne.
En primærnøgle er
den bedste kandidatnøgle i et bord, der bruges til at identificere registreringer , der er gemt i en tabel . Når vi opretter en ny tabel i en database, bliver vi bedt om at vælge en primærnøgle. Derfor er valg af en primærnøgle til en tabel den mest afgørende beslutning, som bør tages af en database designer. Den vigtigste begrænsning, som skal overvejes ved afgørelsen af en primærnøgle, er, at den valgte kolonne i tabellen kun bør indeholde unikke værdier, og den bør ikke indeholde NULL-værdier. Nogle af de primære nøgler, der almindeligvis anvendes ved design af tabeller, er Social Security Number (SSN), ID og National Identity Card Number (NIC). Programmøren bør huske at vælge en primærnøgle omhyggeligt, fordi det er svært at ændre. Derfor er det ifølge programmererne den bedste praksis at oprette en primærnøgle at bruge en internt genereret primærnøgle som Record ID, der er oprettet af AutoNumber datatype af MS Access. Hvis vi forsøger at indsætte en post i en tabel med en primærnøgle, der duplikerer en eksisterende post, vil indsættelsen mislykkes. 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ærnøgle er den bedste kandidatnøgle.
Hvad er forskellen mellem primærnøgle og kandidatnøgle?
• En kandidatnøgle er den kolonne, der kvalificerer som unik, mens primærnøglen er den kolonne, der unikt identificerer en post.
• Et bord 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ærnøgle til en tabel.
• Selv om den primære nøgle er en af kandidatnøglerne, er det undertiden den eneste kandidatnøgle.
• Når først en primærnøgle er valgt, bliver de andre kandidatnøgler unikke nøgler.
• Praktisk en kandidatnøgle kan indeholde NULL-værdier, selvom den i øjeblikket ikke indeholder nogen værdi. Derfor er kandidatnøglen ikke kvalificeret til en primærnøgle, fordi den primære nøgle ikke indeholder NULL-værdier.
• Det kan også være muligt, at kandidatnøgler, som er unikke i øjeblikket, kan indeholde dubletter, der diskvalificerer en kandidatnøgle fra at blive en primærnøgle.
Sammendrag:
Primærnøgle vs Kandidatnøgle
Kandidatnøgle og primærnøgle er vigtige nøgler, der bruges til at designe databaser for unikt at identificere data i en post og foretage relationer mellem tabeller i en database. En tabel skal kun indeholde en primærnøgle og kan indeholde mere end en kandidatnøgle. I dag er de fleste databaser i stand til automatisk at generere deres egen primære nøgle. Derfor giver primærnøglen og kandidatnøglerne en bred vifte af databasestyringssystemer.
Billeder Courtesy:
Primærnøgle af SqlPac (CC BY-SA 3. 0)