Primärnyckel kontra unik nyckel
En kolumn eller en uppsättning kolumner, som kan användas för att identifiera eller komma åt en rad eller en uppsättning 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ärnyckel är också en kombination av kolumner i en tabell som unikt identifierar en rad. Men det anses vara ett specialfall av den unika nyckeln.
Vad är Unique Key?
Som nämnts tidigare är unik nyckel en enstaka kolumn eller uppsättning kolumner som unikt kan identifiera en rad i en tabell. Så en unik nyckel är begränsad så att inte två värden på den är lika. En viktig egenskap är att de unika nycklarna inte upprätthåller NOT NULL-begränsningen. Eftersom NULL representerar avsaknaden av ett värde, om två rader har NULL i en kolumn betyder det inte att värdena är lika. 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 just den raden unikt. Till exempel, i en tabell som innehåller studentinformation, kan student-ID definieras som en unik nyckel. Eftersom inga två elever kan ha samma ID identifierar det unikt en enskild elev. Så kolumnen för student-ID uppfyller alla egenskaper för en unik nyckel. Beroende på utformningen av en databas kan en tabell ha mer än en unik nyckel.
Vad är primärnyckel?
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ärnyckel. Primärnyckeln upprätthåller den implicita NOT NULL-begränsningen. Så en kolumn som är definierad som primärnyckeln kan inte ha NULL-värden i sig. Primärnyckel kan vara ett norm alt attribut i tabellen som garanterat är unikt såsom personnummer eller så kan det vara ett unikt värde som genereras av databashanteringssystemet såsom en Globally Unique Identifier (GUID) i Microsoft SQL Server. Primära nycklar definieras genom PRIMARY KEY-begränsningen i ANSI SQL Standard. Primärnyckel kan också definieras när tabellen skapas. SQL tillåter att primärnyckeln består av en eller flera kolumner och varje kolumn som ingår i primärnyckeln är implicit definierad som NOT NULL. Men vissa databashanteringssystem kräver att primärnyckelkolumnerna uttryckligen INTE NULL.
Skillnaden mellan primärnyckel och unik nyckel
Även om både primärnyckeln och unik nyckel ä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ärnyckeln kan betraktas som ett specialfall av den unika nyckeln. En annan skillnad är att primärnycklar har en implicit NOT NULL-begränsning medan den unika nyckeln inte har den begränsningen. Därför kan unika nyckelkolumner innehålla eller inte innehålla NULL-värden, men primärnyckelkolumner kan inte innehålla NULL-värden.