logo

Verschil tussen primaire sleutel en unieke sleutel

Sleutels in MySQL zijn de kolom of reeks kolommen die worden gebruikt om een ​​relatie tussen een of meer dan twee tabellen op te bouwen. Ze worden ook gebruikt voor toegang tot records uit de tabel. Beide sleutels bieden een gegarandeerde uniciteit voor een kolom of een reeks kolommen in een tabel of relatie. Het belangrijkste verschil tussen beide is dat de primaire sleutel elke record in de tabel identificeert, en dat de unieke sleutel dubbele vermeldingen in een kolom voorkomt, behalve een NULL-waarde. . In dit artikel gaan we essentiële verschillen tussen primaire en unieke sleutels vergelijken op basis van verschillende parameters. Voordat we een vergelijking maken, bespreken we deze sleutels kort.

if-else java
Primaire sleutel versus unieke sleutel

Wat is primaire sleutel?

De primaire sleutel is a uniek of niet-null sleutel die elke record in die tabel of relatie op unieke wijze identificeert. De primaire sleutelkolom kan geen dubbele waarden opslaan, wat betekent dat de waarden van de primaire sleutelkolom altijd uniek zijn. Het wordt ook wel een minimale supersleutel ; daarom kunnen we in geen enkele relatie meer dan één primaire sleutel opgeven. Er kan naar een primaire sleutelkolom van de ene tabel worden verwezen door een externe sleutelkolom van een andere tabel.

Bijvoorbeeld , we hebben een tabel met de naam studenten met attributen zoals Stud_ID, Roll_No, Name, Mobile en Email.

Primaire sleutel versus unieke sleutel

Hier alleen de Rol_nr kolom kan nooit een identieke en NULL-waarde bevatten. We weten dat elke student een uniek rolnummer heeft. Daarom kunnen twee studenten nooit hetzelfde rolnummer hebben. Deze functie helpt om elk record in de database uniek te identificeren. Daarom kunnen we van het Roll_No-attribuut een primaire sleutel maken.

Kenmerken van primaire sleutel

Hieronder volgen de essentiële primaire kenmerken:

snel sorteren van Java
  • De primaire sleutelkolom mag geen dubbele waarden bevatten.
  • De primaire sleutel implementeert de entiteitsintegriteit van de tabel.
  • Een tabel kan niet meer dan één primaire sleutelkolom bevatten.
  • We kunnen de primaire sleutel maken uit een of meer tabelvelden.
  • De primaire sleutelkolom mag GEEN NULL-beperkingen hebben.

Wat is een unieke sleutel?

De unieke sleutel is een enkele kolom of combinatie van kolommen in een tabel om databaserecords op unieke wijze te identificeren. Een unieke sleutel voorkomt van het opslaan dubbele waarden in de kolom. Een tabel kan meerdere unieke sleutelkolommen bevatten, in tegenstelling tot een primaire sleutelkolom. Deze sleutel is vergelijkbaar met de primaire sleutel, behalve dat er één NULL-waarde kan worden opgeslagen in de unieke sleutelkolom. De unieke sleutel wordt ook wel genoemd unieke beperkingen en er kan naar verwezen worden door de refererende sleutel van een andere tabel.

Bijvoorbeeld , laten we dezelfde tabel met de naam bekijken studenten met attributen zoals Stud_ID, Roll_No, Name, Mobile en Email.

Primaire sleutel versus unieke sleutel

Hier Stoeterij_ID kan worden toegewezen als een unieke beperking omdat elke student een uniek identificatienummer moet hebben. Als een student van hogeschool verandert, heeft hij of zij geen studentenkaart. In dat geval kan de vermelding een NUL waarde omdat een unieke sleutelbeperking het opslaan van NULL mogelijk maakt, maar dit mag er maar één zijn.

Kenmerken van unieke sleutel

Hieronder volgen de essentiële unieke hoofdkenmerken:

  • We kunnen de unieke sleutel samenstellen uit een of meer tabelvelden.
  • Een tabel kan meerdere unieke sleutelkolommen definiëren.
  • Standaard bevindt een unieke sleutel zich in niet-geclusterde unieke indexen.
  • De unieke beperkingskolom kan een NULL-waarde opslaan, maar er is slechts één NULL per kolom toegestaan.
  • De externe sleutel kan verwijzen naar de unieke beperking bij het behouden van het unieke karakter van een tabel.

Belangrijkste verschillen tussen primaire en unieke sleutel

De volgende punten verklaren de belangrijkste verschillen tussen primaire en kandidaat-sleutels:

  • Een primaire sleutel kan een of meer velden van een tabel vormen om records in een tabel op unieke wijze te identificeren. Aan de andere kant voorkomt een unieke sleutel dat twee rijen dubbele vermeldingen in een kolom hebben.
  • Een tabel kan in een relationele database niet meer dan één primaire sleutel hebben, terwijl er per tabel meerdere unieke sleutels kunnen zijn.
  • Een primaire sleutelkolom kan geen NULL-waarden bevatten, terwijl een unieke sleutel NULL-waarden kan hebben, maar er is slechts één NULL toegestaan ​​in een tabel.
  • Een primaire sleutel moet uniek zijn, maar een unieke sleutel kan niet noodzakelijkerwijs de primaire sleutel zijn.
  • De primaire sleutel is standaard een geclusterde index waarbij gegevens fysiek zijn georganiseerd in de sequentiële index. De unieke sleutel is daarentegen een unieke, niet-geclusterde index.
  • De primaire sleutel implementeert entiteitsintegriteit, terwijl de unieke sleutel unieke gegevens afdwingt.

Primaire sleutel versus unieke sleutelvergelijkingstabel

In het volgende vergelijkingsschema worden de belangrijkste verschillen op een snelle manier uitgelegd:

formaatreeks java
Vergelijkingsbasis Hoofdsleutel Unieke sleutel
Basis De primaire sleutel wordt gebruikt als unieke identificatie voor elke record in de tabel. De unieke sleutel is ook een unieke identificatie voor records wanneer de primaire sleutel niet in de tabel aanwezig is.
NUL We kunnen geen NULL-waarden opslaan in de primaire sleutelkolom. We kunnen een NULL-waarde opslaan in de unieke sleutelkolom, maar er is slechts één NULL toegestaan.
Doel Het dwingt de integriteit van de entiteit af. Het dwingt unieke gegevens af.
Inhoudsopgave De primaire sleutel maakt standaard een geclusterde index. De unieke sleutel creëert standaard een niet-geclusterde index.
Aantal sleutels Elke tabel ondersteunt slechts één primaire sleutel. Een tabel kan meer dan één unieke sleutel hebben.
Waardewijziging We kunnen de primaire sleutelwaarden niet wijzigen of verwijderen. We kunnen de unieke sleutelkolomwaarden wijzigen.
Toepassingen Het wordt gebruikt om elk record in de tabel te identificeren. Het voorkomt dat dubbele vermeldingen in een kolom worden opgeslagen, behalve een NULL-waarde.
Syntaxis We kunnen een primaire sleutelkolom in de tabel maken met behulp van de onderstaande syntaxis:
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
We kunnen een unieke sleutelkolom in de tabel maken met behulp van de onderstaande syntaxis:
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Conclusie

In dit artikel hebben we een vergelijking gemaakt tussen primaire sleutel- en unieke sleutelbeperkingen. Hier hebben we geconcludeerd dat een unieke sleutel nuttig is als we willen dat de kolommen geen dubbele waarden bevatten. En de primaire sleutel is handig als we de NULL-waarde niet in de tabel willen behouden. Het kan ook ideaal zijn als we een externe sleutel in een andere tabel hebben om een ​​relatie tussen tabellen te creëren.