Primär nyckel vs unik nyckel
En kolumn eller en uppsättning kolumner som kan användas för att identifiera eller komma åt en rad eller en rad rader i en databas kallas en nyckel. En unik nyckel är en nyckel som unikt kan identifiera en rad i en tabell i samband med relationsdatabaser. En unik nyckel består av en enda kolumn eller en uppsättning kolumner. En primär nyckel är också en kombination av kolumner i en tabell som unikt identifierar en rad. Men det anses vara ett speciellt fall av den unika nyckeln.
Vad är unik nyckel?
Som nämnts tidigare är unik nyckel en enda kolumn eller uppsättning kolumner som unikt kan identifiera en rad i en tabell. Så en unik nyckel är begränsad så att inga två värden är lika. En viktig egenskap är att de unika nycklarna inte tillämpar begränsningen NOT NULL. Eftersom NULL representerar bristen på ett värde betyder det inte att värdena är lika om två rader har NULL i en kolumn. Kolumn definierad som en unik nyckel tillåter endast ett enda NULL-värde i den kolumnen. Då kan det användas för att identifiera den specifika raden unikt. Till exempel, i en tabell som innehåller studentinformation kan student-ID definieras som en unik nyckel. Eftersom inga studenter kan ha samma ID identifierar det en enskild student unikt. Så student-ID-kolumnen uppfyller alla egenskaper hos en unik nyckel. Beroende på utformningen av en databas,en tabell kan ha mer än en unik nyckel.
Vad är primär nyckel?
Primärnyckel är också en kolumn eller en kombination av kolumner som unikt definierar en rad i en tabell i en relationsdatabas. En tabell kan ha högst en primär nyckel. Primär nyckel verkställer den implicita begränsningen NOT NULL. Så en kolumn som definieras som den primära nyckeln kan inte innehålla NULL-värden. Primärnyckel kan vara ett normalt attribut i tabellen som garanterat är unikt, till exempel personnummer, eller så kan det vara ett unikt värde som genereras av databashanteringssystemet, till exempel en globalt unik identifierare (GUID) i Microsoft SQL Server. Primära nycklar definieras genom begränsningen PRIMÄR NYCKEL i ANSI SQL Standard. Primärnyckel kan också definieras när du skapar tabellen. SQL tillåter primärnyckel att bestå av en eller flera kolumner och varje kolumn som ingår i primärnyckeln definieras implicit som INTE NULL. Men vissa databashanteringssystem kräver att de primära nyckelkolumnerna uttryckligen INTE är NULL.
Skillnaden mellan primär nyckel och unik nyckel
Även om både primärnyckeln och den unika nyckeln är en eller flera kolumner som unikt kan identifiera en rad i en tabell, har de några viktiga skillnader. Viktigast av allt, en tabell kan bara ha en enda primärnyckel medan den kan ha mer än en unik nyckel. Primärnyckel kan betraktas som ett specialfall för den unika nyckeln. En annan skillnad är att primära nycklar har en implicit NOT NULL-begränsning medan den unika nyckeln inte har den begränsningen. Därför kan unika nyckelkolumner innehålla NULL-värden eller inte, men primära nyckelkolumner kan inte innehålla NULL-värden.