Unterschied zwischen Primär- und Kandidatenschlüssel

Autor: Laura McKinney
Erstelldatum: 1 April 2021
Aktualisierungsdatum: 3 Juli 2024
Anonim
Unterschied zwischen Primär- und Kandidatenschlüssel - Technologie
Unterschied zwischen Primär- und Kandidatenschlüssel - Technologie

Inhalt


Schlüssel sind das Attribut oder eine Reihe von Attributen, mit denen auf Tupel aus einer Tabelle zugegriffen wird, oder sie werden auch zum Erstellen einer Beziehung zwischen zwei Tabellen verwendet. In diesem Artikel werden wir Primär- und Kandidatenschlüssel und die Unterschiede zwischen ihnen diskutieren. Sowohl der Primärschlüssel als auch der Kandidatenschlüssel identifizieren ein Tupel in einer Relation oder Tabelle eindeutig. Der wichtigste Punkt, der sie unterscheidet, ist jedoch, dass es nur einen geben kann Primärschlüssel in einer Beziehung. Es kann jedoch mehrere geben Kandidatenschlüssel in einer Beziehung.

Es gibt weitere Unterschiede zwischen Primär- und Kandidatenschlüssel, die ich anhand der folgenden Vergleichstabelle erläutern werde.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den VergleichPrimä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 einen NULL-Wert enthalten.Das Attribut eines Kandidatenschlüssels kann den Wert NULL haben.
AngebenEs ist optional, einen Primärschlüssel für eine Beziehung anzugeben.Es kann keine Beziehung ohne den angegebenen Kandidatenschlüssel geben.
FeaturePrimärschlüssel beschreibt das wichtigste Attribut für die Relation.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 erforderlich, dass jeder Kandidatenschlüssel ein Primärschlüssel sein kann.


Definition des Primärschlüssels

Primärschlüssel ist ein Attribut oder eine Reihe von Attributen, die jedes Tupel in einer Beziehung eindeutig identifizieren. Es kann nur geben einer Primärschlüssel für jede Beziehung. Es muss darauf geachtet werden, dass ein Primärschlüssel vorhanden ist noch nie enthalten a NULL Wert, und es muss die haben einzigartig Wert für jedes Tupel in der Relation. Die Werte der Attribute des Primärschlüssels müssen sein statischder Wert des Attributs sollte niemals oder selten geändert werden.

Einer der Kandidatenschlüssel qualifiziert sich zum Primärschlüssel. Das Regeln Dass sich ein Kandidatenschlüssel qualifizieren muss, um Primär zu werden, ist, dass der Schlüsselwert niemals sein sollte NULL und es muss sein einzigartig für alle Tupel.


Wenn eine Beziehung ein Attribut enthält, das ein Primärschlüssel einer anderen Beziehung ist, wird dieses Attribut aufgerufen Unbekannter Schlüssel.

Es wird empfohlen, den Primärschlüssel einer Relation herauszufinden, bevor andere Attribute einer Relation eingegeben werden, da der Primärschlüssel jedes Tupel eindeutig identifiziert. Es ist besser, ein einzelnes Attribut oder eine kleine Anzahl von Attributen als Primärschlüssel zu wählen. Dies erleichtert die Handhabung von Beziehungen.

Sehen wir uns nun ein Beispiel für einen Primärschlüssel an.

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

Hier werden wir zuerst die Kandidatenschlüssel herausfinden. Ich habe es herausgefunden zwei Kandidatenschlüssel {ICH WÜRDE} und {Vorname Nachname} da sie jeden Schüler in der Schülerbeziehung eindeutig identifizieren. Nun, hier werde ich wählen ICH WÜRDE als mein Primärschlüssel, weil es manchmal vorkommen kann, dass zwei Schüler den gleichen Vor- und Nachnamen haben, so dass es einfach ist, einen Schüler mit seinem Namen zu finden ICH WÜRDE.

Definition des Kandidatenschlüssels

EIN Kandidatenschlüssel ist ein Attribut oder eine Gruppe von Attributen, die ein Tupel in einer Beziehung eindeutig definieren. Es kann sein mehr als eine Kandidatenschlüssel in einer Beziehung. Diese Kandidatenschlüssel sind die Kandidaten, die sich zum Primärschlüssel qualifizieren können.

Obwohl sich jeder Kandidatenschlüssel als Primärschlüssel qualifiziert, kann nur einer als Primärschlüssel ausgewählt werden. Die Regeln, die ein Kandidatenschlüssel benötigt, um Primärschlüssel zu werden, sind der Attributwert des Schlüssels, der niemals sein kann NULL in jeder Domäne des Schlüssels muss es sein einzigartig und statisch.

Wenn alle Kandidatenschlüssel für den Primärschlüssel qualifiziert sind, dann ein erfahrener DBA muss die Entscheidung treffen, den Primärschlüssel herauszufinden. Ohne Kandidatenschlüssel kann es keine Beziehung geben.

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

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

Hier kann ich herausfinden zwei Kandidatenschlüssel, die sind {ICH WÜRDE}, {Vorname, Nachname, Geburtsdatum}. Sie können also verstehen, dass es sich bei den Kandidatenschlüsseln um einen Schlüssel handelt, der ein Tupel in einer Beziehung eindeutig identifiziert.

  1. Der grundlegende Punkt, der den Primärschlüssel vom Kandidatenschlüssel unterscheidet, besteht darin, 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 dem Primärschlüssel darf niemals einen NULL-Wert enthalten, da die Hauptfunktion des Primärschlüssels darin besteht, einen Datensatz in Beziehung eindeutig zu identifizieren. Sogar ein Primärschlüssel kann in einer anderen Beziehung als Fremdschlüssel verwendet werden und darf daher nicht NULL sein, damit die referenzierende Beziehung die Tupel in einer referenzierten Beziehung finden kann. Der Kandidatenschlüssel kann NULL sein, es sei denn, die Attributeinschränkung ist nicht null.
  3. Es ist optional, einen Primärschlüssel anzugeben, es kann jedoch keine Beziehung ohne Kandidatenschlüssel geben.
  4. Der Primärschlüssel beschreibt das eindeutige und wichtigste Attribut einer Beziehung, während der Kandidatenschlüssel die Kandidaten bereitstellt, unter denen einer als Primärschlüssel ausgewählt werden kann.
  5. Jeder Primärschlüssel ist ein Kandidatenschlüssel, aber umgekehrt ist es nicht wahr.

Fazit:

Es ist für eine Beziehung optional, einen Primärschlüssel anzugeben. Wenn Sie andererseits eine Beziehung deklarieren, müssen Kandidatenschlüssel in dieser Beziehung vorhanden sein, um eine gute Beziehung zu erstellen.