Empfohlen, 2019

Tipp Der Redaktion

Unterschied zwischen Primär- und Kandidatenschlüssel

Schlüssel sind das Attribut oder eine Gruppe von Attributen, die für den Zugriff auf Tupel aus einer Tabelle verwendet werden, oder sie werden auch zum Erstellen einer Beziehung zwischen zwei Tabellen verwendet. In diesem Artikel werden Primärschlüssel und Kandidatenschlüssel und die Unterschiede zwischen ihnen besprochen. Sowohl der Primärschlüssel als auch der Kandidatenschlüssel identifizieren ein Tupel in einer Beziehung oder Tabelle eindeutig. Der wichtigste Punkt, der sie unterscheidet, ist, dass es nur einen Primärschlüssel in einer Beziehung geben kann. Es kann jedoch mehr als einen Kandidatenschlüssel in einer Beziehung geben.

Es gibt einige weitere Unterschiede zwischen Primär- und Kandidatenschlüssel, die ich mit Hilfe der unten gezeigten Vergleichstabelle besprechen werde.

Vergleichstabelle

VergleichsgrundlagePrimärschlüsselKandidatenschlüssel
BasicIn jeder Beziehung kann es nur einen Primärschlüssel geben.Es kann mehr als einen Kandidatenschlüssel in einer Beziehung geben.
NULLKein Attribut eines Primärschlüssels darf NULL-Werte enthalten.Das Attribut eines Kandidatenschlüssels kann einen NULL-Wert haben.
AngebenEs ist optional, für jede Beziehung einen Primärschlüssel anzugeben.Es kann keine Beziehung ohne Kandidatenschlüssel angegeben werden.
MerkmalPrimärschlüssel beschreibt das wichtigste Attribut für die Beziehung.Kandidatenschlüssel präsentieren Kandidaten, die sich für den Primärschlüssel qualifizieren können.
Und umgekehrtEin Primärschlüssel ist ein Kandidatenschlüssel.Es ist jedoch nicht zwingend, dass jeder Kandidatenschlüssel ein Primärschlüssel sein kann.

Definition von Primärschlüssel

Primärschlüssel ist ein Attribut oder eine Gruppe von Attributen, das jedes Tupel in einer Beziehung eindeutig identifiziert. Für jede Beziehung kann es nur einen Primärschlüssel geben. Es muss darauf geachtet werden, dass ein Primärschlüssel niemals einen NULL- Wert enthält, und er muss den eindeutigen Wert für jedes Tupel in der Beziehung haben. Die Werte des Attributs / der Attribute des Primärschlüssels müssen statisch sein, dh der Wert des Attributs sollte niemals oder selten geändert werden.

Einer der Kandidatenschlüssel wird qualifiziert, um ein Primärschlüssel zu werden. Die Regeln, die ein Kandidatenschlüssel qualifizieren muss, um primär zu werden, lauten, dass der Schlüsselwert niemals NULL sein sollte und dass er für alle Tupel eindeutig sein muss.

Wenn eine Relation ein Attribut enthält, das ein Primärschlüssel einer anderen Relation ist, wird dieses Attribut als Fremdschlüssel bezeichnet .

Es wird empfohlen, den Primärschlüssel einer Beziehung herauszufinden, bevor andere Attribute einer Beziehung als Primärschlüssel eingeführt werden, der jedes Tupel eindeutig identifiziert. Es ist besser, ein einzelnes Attribut oder eine kleine Anzahl von Attributen als Primärschlüssel auszuwählen. Dies erleichtert die Beziehungsverarbeitung.

Lassen Sie uns nun ein Beispiel eines Primärschlüssels sehen.

 Student {ID, Vorname, Nachname, Alter, Adresse} 

Hier werden wir zunächst die Kandidatenschlüssel herausfinden. Ich habe zwei Kandidatenschlüssel {ID} und {Vorname, Nachname} herausgefunden, da sie jeden Schüler in der Schülerbeziehung eindeutig identifizieren. Jetzt wähle ich die ID als meinen Primärschlüssel, da es manchmal vorkommen kann, dass zwei Schüler denselben Vor- und Nachnamen haben, so dass es leicht ist, einen Schüler mit seiner ID zu finden .

Definition des Kandidatenschlüssels

Ein Kandidatenschlüssel ist ein Attribut oder eine Gruppe von Attributen, die ein Tupel in einer Beziehung eindeutig definieren. In einer Beziehung kann es mehr als einen Kandidatenschlüssel geben. Diese Kandidatenschlüssel sind die Kandidaten, die sich als Primärschlüssel qualifizieren können.

Obwohl sich jeder Kandidatenschlüssel als Primärschlüssel qualifiziert, kann nur ein Schlüssel als Primärschlüssel ausgewählt werden. Die Regeln, die ein Kandidatenschlüssel benötigt, um zu einem Primärschlüssel zu werden, sind: Der Attributwert des Schlüssels darf in keiner Domäne des Schlüssels NULL sein, er muss eindeutig und statisch sein .

Wenn sich alle Kandidatenschlüssel für den Primärschlüssel qualifizieren, muss ein erfahrener DBA die Entscheidung treffen, um den Primärschlüssel herauszufinden. Ohne Kandidatenschlüssel kann es nie eine Beziehung geben.

Lassen Sie uns den Kandidatenschlüssel anhand eines Beispiels verstehen. Wenn wir der Schülerbeziehung weitere Attribute hinzufügen, habe ich oben diskutiert.

 Student {ID, Vorname, Nachname, Alter, Adresse, Geburtsdatum, Abteilungsname} 

Hier kann ich zwei Kandidatenschlüssel ermitteln, die {ID}, {Vorname, Nachname, DOB} sind . Sie können also verstehen, dass die Schlüsselkandidaten ein Tupel in einer Beziehung eindeutig identifizieren.

Hauptunterschiede zwischen Primär- und Kandidatenschlüssel

  1. Der grundlegende Punkt, der den Primärschlüssel vom Kandidatenschlüssel unterscheidet, ist, dass es für jede Beziehung in einem Schema nur einen Primärschlüssel geben kann. Es können jedoch mehrere Kandidatenschlüssel für eine einzelne Beziehung vorhanden sein.
  2. Das Attribut unter Primärschlüssel darf niemals einen NULL-Wert enthalten, da die Hauptfunktion des Primärschlüssels darin besteht, einen Datensatz eindeutig zu identifizieren. Sogar ein Primärschlüssel kann als Fremdschlüssel in einer anderen Relation verwendet werden und darf daher nicht NULL sein, damit die referenzierende Relation die Tupel in einer referenzierten Relation finden kann. Der Kandidatenschlüssel kann NULL sein, es sei denn, die Attributeinschränkung ist nicht Null angegeben.
  3. Die Angabe eines Primärschlüssels ist optional, es kann jedoch keine Beziehung ohne Kandidatenschlüssel sein.
  4. Primärschlüssel beschreibt das eindeutige und wichtigste Attribut einer Beziehung, während die Kandidatenschlüssel die Kandidaten liefern, unter denen einer als Primärschlüssel ausgewählt werden kann.
  5. Jeder Primärschlüssel ist ein Kandidatenschlüssel, aber umgekehrt ist er nicht wahr.

Fazit:

Eine Relation kann optional einen Primärschlüssel angeben. Wenn Sie dagegen eine Beziehung deklarieren, müssen Kandidatenschlüssel in dieser Beziehung vorhanden sein, um eine gute Beziehung aufzubauen.

Top