Forskel mellem primær nøgle og kandidatnøgle

Primær nøgle vs kandidatnøgle
 

Selvom den primære nøgle er valgt fra kandidatnøglerne, er der nogen forskel mellem den primære nøgle og de andre kandidatnøgler, som vil blive drøftet detaljeret i denne artikel. Databasedesign er en af ​​de vigtigste aktiviteter, der skal udføres, når du vedligeholder og lagrer data. Under denne designproces skal forskellige tabeller med mange relationer oprettes. For at få adgang til disse tabeller i en database bruges forskellige typer nøgler i moderne databasedesignende sprog som MYSQL, MSAccess, SQLite osv. Ud af disse nøgler er kandidatnøgler og primære nøgler blevet væsentlige 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 identificer en hvilken som helst databasepost 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 NULL-værdier.

• kandidatnøglen skal aldrig ændres, 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. Dog ud af alle kandidatnøgler vil den vigtigste og specielle kandidatnøgle blive 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 unikt at identificere poster 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ær nøgle. Derfor er valg af en primær nøgle til en tabel den mest kritiske beslutning, der skal tages af en databasedesigner. Den vigtigste begrænsning, som skal overvejes, når der vælges en primær nøgle, er, at den valgte kolonne i tabellen kun skal indeholde unikke værdier, og den bør ikke indeholde NULL-værdier. Nogle af de primære nøgler, der ofte bruges til design af tabeller, er Social Security Number (SSN), ID og National Identity Card Number (NIC).

Programmereren skal huske at vælge en primær nøgle omhyggeligt, fordi den er vanskelig at ændre. Ifølge programmererne er den bedste praksis med at oprette en primær nøgle derfor at bruge en internt genereret primær nøgle såsom Record ID oprettet af AutoNumber datatype af MS Access. Hvis vi prøver 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 mere vigtigt at beholde en statisk primær nø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 kvalificeres 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 en primær nøgle blev valgt, bliver de andre kandidatnøgler unikke nøgler.

• Praktisk set 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 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 unikt at identificere data i en registrering og skabe relationer mellem tabeller i en database. En tabel skal 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 lang række understøttelse til databasestyringssystemerne.

Billeder høflighed: 

  1. Primær nøgle af SqlPac (CC BY-SA 3.0)