Nycklar i MySQL är kolumnen eller uppsättningen kolumner som används för att konstruera en relation mellan en eller flera än två tabeller. De används också för att komma åt poster från tabellen. Båda nycklarna ger en garanterad unikhet för en kolumn eller en uppsättning kolumner i en tabell eller relation. Den största skillnaden mellan dem är att primärnyckeln identifierar varje post i tabellen, och den unika nyckeln förhindrar dubbla poster i en kolumn förutom ett NULL-värde . I den här artikeln kommer vi att jämföra väsentliga skillnader mellan primära och unika nycklar baserat på olika parametrar. Innan vi gör en jämförelse kommer vi kortfattat att diskutera dessa nycklar.
gjuta int till sträng
Vad är primärnyckel?
Den primära nyckeln är a unik eller icke-null nyckel som unikt identifierar varje post i den tabellen eller relationen. Primärnyckelkolumnen kan inte lagra dubbletter av värden, vilket betyder att primärnyckelkolumnvärden alltid är unika. Det kallas också a minimal supernyckel ; därför kan vi inte specificera mer än en primärnyckel i någon relation. En primärnyckelkolumn i en tabell kan refereras av en främmande nyckelkolumn i en annan tabell.
Till exempel , vi har en tabell som heter studenter med attribut som Stud_ID, Roll_No, Name, Mobile och Email.
Här endast Roll_No kolumnen får aldrig innehålla ett identiskt värde och NULL. Vi vet att varje elev har ett unikt rullnummer. Därför kan två elever aldrig ha samma rullnummer. Denna funktion hjälper till att identifiera varje post i databasen unikt. Därför kan vi göra Roll_No-attributet till en primärnyckel.
Funktioner för primärnyckel
Följande är de väsentliga primära nyckelfunktionerna:
java if else-sats
- Primärnyckelkolumnen kan inte innehålla dubbletter av värden.
- Den primära nyckeln implementerar entitetsintegriteten för tabellen.
- En tabell kan inte ha mer än en primärnyckelkolumn.
- Vi kan göra primärnyckeln från ett eller flera tabellfält.
- Primärnyckelkolumnen ska ha NOT NULL-begränsningar.
Vad är en unik nyckel?
De unik nyckel är en enda kolumn eller kombination av kolumner i en tabell för att unikt identifiera databasposter. En unik nyckel förhindrar från att lagra dubbletter av värden i kolumnen. En tabell kan innehålla flera unika nyckelkolumner, till skillnad från en primärnyckelkolumn. Denna nyckel liknar primärnyckeln, förutom att ett NULL-värde kan lagras i den unika nyckelkolumnen. Den unika nyckeln kallas också unika begränsningar och kan refereras av en annan tabells främmande nyckel.
Till exempel , låt oss betrakta samma tabell som heter studenter med attribut som Stud_ID, Roll_No, Name, Mobile och Email.
Här Stud_ID kan tilldelas som en unik begränsning eftersom varje elev måste ha ett unikt identifikationsnummer. Om en student byter högskola skulle han eller hon inte ha något studentlegitimation. I så fall kan posten innehålla en NULL värde eftersom en unik nyckelrestriktion tillåter lagring av NULL, men det bör bara vara en.
Funktioner av unik nyckel
Följande är de väsentliga unika nyckelfunktionerna:
- Vi kan konstruera den unika nyckeln från ett eller flera tabellfält.
- En tabell kan definiera flera unika nyckelkolumner.
- Som standard finns en unik nyckel i icke-klustrade unika index.
- Den unika begränsningskolumnen kan lagra NULL-värde, men endast en NULL tillåts null per kolumn.
- Den främmande nyckeln kan referera till den unika begränsningen för att bevara en tabells unika karaktär.
Viktiga skillnader mellan Primär och Unique Key
Följande punkter förklarar de viktigaste skillnaderna mellan primära och kandidatnycklar:
- En primärnyckel kan utgöra ett eller flera fält i en tabell för att identifiera poster i en tabell unikt. Å andra sidan förhindrar en unik nyckel att två rader har dubbla poster i en kolumn.
- En tabell kan inte ha mer än en primärnyckel i en relationsdatabas, medan det kan finnas flera unika nycklar per tabell.
- En primärnyckelkolumn kan inte innehålla NULL-värden, medan en unik nyckel kan ha NULL-värden, men endast en NULL är tillåten i en tabell.
- En primärnyckel ska vara unik, men en unik nyckel kan inte nödvändigtvis vara primärnyckeln.
- Den primära nyckeln är som standard ett klustrat index där data är fysiskt organiserade i det sekventiella indexet. Däremot är den unika nyckeln ett unikt icke-klustrat index.
- Den primära nyckeln implementerar entitetsintegritet, medan den unika nyckeln tvingar fram unika data.
Jämförelsediagram för primär nyckel kontra unik nyckel
Följande jämförelsediagram förklarar deras huvudsakliga skillnader på ett snabbt sätt:
matematik slumpmässigt java
Jämförelsegrund | Primärnyckel | Unik nyckel |
---|---|---|
Grundläggande | Primärnyckeln används som en unik identifierare för varje post i tabellen. | Den unika nyckeln är också en unik identifierare för poster när primärnyckeln inte finns i tabellen. |
NULL | Vi kan inte lagra NULL-värden i primärnyckelkolumnen. | Vi kan lagra NULL-värde i den unika nyckelkolumnen, men endast en NULL är tillåten. |
Syfte | Det upprätthåller enhetens integritet. | Den upprätthåller unika data. |
Index | Primärnyckeln skapar som standard ett klustrat index. | Den unika nyckeln skapar som standard ett icke-klustrat index. |
Antal nyckel | Varje tabell stöder endast en primärnyckel. | Ett bord kan ha mer än en unik nyckel. |
Värdeändring | Vi kan inte ändra eller ta bort de primära nyckelvärdena. | Vi kan modifiera de unika nyckelkolumnvärdena. |
Används | Den används för att identifiera varje post i tabellen. | Det förhindrar lagring av dubbla poster i en kolumn förutom ett NULL-värde. |
Syntax | Vi kan skapa en primärnyckelkolumn i tabellen med hjälp av nedanstående syntax:CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) ) | Vi kan skapa en unik nyckelkolumn i tabellen med hjälp av nedanstående syntax:CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) ) |
Slutsats
I den här artikeln har vi gjort en jämförelse mellan primärnyckel och unika nyckelbegränsningar. Här har vi kommit fram till att en unik nyckel är användbar när vi vill att kolumnerna inte innehåller dubbletter av värden. Och primärnyckeln är användbar när vi inte vill behålla NULL-värdet i tabellen. Det kan också vara idealiskt när vi har en främmande nyckel i en annan tabell för att skapa en relation mellan tabeller.