Primaire sleutel versus unieke sleutel: wat is het verschil?

Inhoudsopgave:

Anonim

Wat is de primaire sleutel?

Een primaire sleutelbeperking is een kolom of groep kolommen in een tabel die elke rij in die tabel uniek identificeert. De primaire sleutel mag geen duplicaat zijn, wat betekent dat dezelfde waarde niet meer dan één keer in de tabel kan voorkomen.

Een tabel moet meer dan één primaire sleutel hebben. De primaire sleutel kan op kolom- of tabelniveau worden gedefinieerd. Als u een samengestelde primaire sleutel maakt, moet deze op tabelniveau worden gedefinieerd.

In deze tutorial leer je:

  • Wat is de primaire sleutel?
  • Wat is een unieke sleutel?
  • Waarom primaire sleutel gebruiken?
  • Waarom een ​​unieke sleutel gebruiken?
  • Kenmerken van primaire sleutel
  • Kenmerken van unieke sleutel
  • Voorbeeld van het maken van een primaire sleutel
  • Voorbeeld van het maken van een unieke sleutel
  • Verschil tussen primaire sleutel en unieke sleutel
  • Wat is beter?

Wat is een unieke sleutel?

Een unieke sleutel is een groep van een of meer velden of kolommen van een tabel die een uniek databaserecord identificeren.

Een unieke sleutel is hetzelfde als een primaire sleutel, maar kan één null-waarde accepteren voor een tabelkolom. Het mag ook geen identieke waarden bevatten. Er wordt naar unieke beperkingen verwezen door de externe sleutel van andere tabellen.

BELANGRIJKSTE VERSCHILLEN

  • Er kan één primaire sleutel in een tabel zijn, terwijl er meerdere unieke sleutels in de tabel kunnen zijn.
  • Het doel van de primaire sleutel is om de integriteit van de entiteit af te dwingen, aan de andere kant is het doel van de unieke sleutel om unieke gegevens af te dwingen.
  • In de primaire sleutel is de standaardindex geclusterd, terwijl in de unieke sleutel de standaardindex niet is geclusterd
  • Primaire sleutel staat geen null-kolommen toe, terwijl uniek null-kolommen toestaat.
  • In de primaire sleutel zijn dubbele sleutels niet toegestaan ​​in een unieke sleutel. Als een of meer sleutelonderdelen null zijn, zijn dubbele sleutels toegestaan.

Waarom primaire sleutel gebruiken?

Hier zijn de belangrijkste redenen om de primaire sleutel te gebruiken:

  • Het belangrijkste doel van de primaire sleutel is om elk record in de databasetabel te identificeren.
  • U kunt een primaire sleutel gebruiken als u iemand niet toestaat null-waarden in te voeren.
  • Als u een record verwijdert of bijwerkt, wordt de door u gespecificeerde actie ondernomen om de integriteit van de databasegegevens te waarborgen.
  • Voer de beperkingsbewerking uit om de verwijderings- of updatebewerking voor de bovenliggende tabel te weigeren.
  • Wanneer u de DBMS-tabel fysiek organiseert, worden de gegevens op volgorde van geclusterde index georganiseerd.

Waarom een ​​unieke sleutel gebruiken?

Hier zijn de belangrijke redenen om een ​​unieke sleutel te gebruiken:

  • Het doel van een unieke sleutel is om ervoor te zorgen dat de informatie in de kolom voor elk tabelrecord uniek is.
  • Wanneer u de gebruiker toestaat de null-waarde in te voeren.
  • Er wordt een unieke sleutel gebruikt omdat deze standaard een niet-geclusterde index maakt.
  • Unieke sleutel kan worden gebruikt wanneer u null-waarden in de kolom moet behouden.
  • Wanneer een of meer velden / kolommen van een tabel een record in een databasetabel uniek identificeren.

Kenmerken van primaire sleutel

Hier zijn de belangrijke kenmerken van de primaire sleutel:

  • De primaire sleutel implementeert de entiteitsintegriteit van de tabel.
  • U kunt slechts één primair in de tabel behouden.
  • De primaire sleutel bevat een of meer tabelkolommen.
  • Kolommen zijn gedefinieerd als niet nul.

Kenmerken van unieke sleutel

Hier zijn de belangrijke kenmerken van een unieke sleutel:

  • U kunt meer dan één unieke sleutel in de tabel definiëren.
  • Standaard bevinden unieke sleutels zich in niet-geclusterde unieke indexen.
  • Het bestaat uit een of meer tabelkolommen.
  • De tabelkolom kan null zijn, maar slechts één null per kolom verdient de voorkeur.
  • Er kan gemakkelijk naar een unieke beperking worden verwezen door een beperking met een externe sleutel.

Voorbeeld van het maken van een primaire sleutel

Het volgende voorbeeld beschrijft dat er een tafel is met de naam student. Het bevat vijf attributen: 1) StudID, 2) Rolnummer, 3) Voornaam, 4) Achternaam en 5) E-mail.

Het kenmerk Roll No kan nooit een dubbele of null-waarde bevatten. Het is omdat elke student die aan een universiteit is ingeschreven, een uniek rolnummer kan hebben. U kunt elke rij van een tafel gemakkelijk identificeren met het rolnummer van de student. Het wordt dus als een primaire sleutel beschouwd.

Voorbeeld van primaire sleutel

Voorbeeld van het maken van een unieke sleutel

Beschouw dezelfde studententafel met attributen, 1) StudID, 2) Rolnummer, 3) Voornaam, 4) Achternaam en 5) E-mail.

Stud ID kan een unieke beperking hebben waarbij vermeldingen in de Stud ID-kolom uniek kunnen zijn omdat elke student van een universiteit een uniek ID-nummer moet hebben. Als de student van universiteit verandert, heeft hij of zij in dat geval geen dekreu. Het item kan een null-waarde hebben omdat er slechts één null is toegestaan ​​in de unieke sleutelbeperking.

Uniek sleutelvoorbeeld

Verschil tussen primaire sleutel en unieke sleutel

Dit zijn de belangrijke verschillen tussen de primaire sleutel en de unieke sleutel:

Hoofdsleutel Unieke sleutel
Een tabel kan één primaire sleutel bevatten De tabel kan meerdere unieke sleutels bevatten
Het staat geen null-kolommen toe. Het staat null-kolommen toe.
De standaardindex is geclusterd De standaardindex is niet geclusterd
Het doel van de primaire sleutel is om de integriteit van de entiteit af te dwingen. Het doel van een unieke sleutel is om unieke gegevens af te dwingen.
Primaire sleutel kan worden gemaakt met behulp van de syntaxis:
CREATE TABLE Employee(ID int PRIMARY KEY,Name varchar(255),City varchar(150))
Een unieke sleutel kan worden gemaakt met behulp van de syntaxis:
CREATE TABLE Employee(ID int UNIQUE.Name varchar(255) NOT NULL. City varchar(150))
Het is een SQL-beperking waarmee u elke record of rij in de databasetabel uniek kunt identificeren. Het is een SQL-beperking die niet toestaat dat dezelfde waarde wordt toegewezen aan twee isolatedRecords in een databasetabel.
In de primaire sleutel zijn dubbele sleutels niet toegestaan. Als in een unieke sleutel een of meer sleutelonderdelen null zijn, zijn dubbele sleutels toegestaan.

Wat is beter?

  • Een unieke sleutel is beter als u kolommen heeft waarvan u weet dat ze geen duplicatie mogen bevatten. Dit wordt een goede manier om ervoor te zorgen dat gegevens worden gevalideerd.
  • Primaire sleutel is ideaal wanneer u null niet in de tabel kunt houden. Het kan ook worden gebruikt als u een externe sleutel in een andere tabel heeft om een ​​relatie te creëren.