Empfohlen, 2019

Tipp Der Redaktion

Unterschied zwischen Superschlüssel und Kandidatenschlüssel

Schlüssel sind die wesentlichen Elemente einer relationalen Datenbank. Es identifiziert jedes Tupel in einer Beziehung eindeutig. Schlüssel werden auch verwendet, um die Beziehung zwischen den Tabellen in einem Schema herzustellen. In diesem Artikel werden zwei grundlegende Schlüssel einer Datenbank beschrieben, bei der es sich um einen Super- und einen Kandidatenschlüssel handelt. Jeder Kandidatenschlüssel ist ein Superschlüssel, aber jeder Superschlüssel kann ein Kandidatenschlüssel sein oder nicht. Es gibt viele andere Unterscheidungsfaktoren zwischen Superschlüssel und Kandidatenschlüssel, die ich in der Vergleichstabelle unten kurz besprochen habe.

Vergleichstabelle

VergleichsgrundlageSuper KeyKandidatenschlüssel
BasicEin einzelnes Attribut oder eine Gruppe von Attributen, das alle Attribute in einer Beziehung eindeutig identifiziert, ist der Superschlüssel.Eine richtige Teilmenge eines Superschlüssels, der auch ein Superschlüssel ist, ist ein Kandidatenschlüssel.
Eins in anderenEs ist nicht obligatorisch, dass alle Superschlüssel Kandidatenschlüssel sind.Alle Kandidatenschlüssel sind Superschlüssel.
AuswahlDer Satz von Superschlüsseln bildet die Basis für die Auswahl von Kandidatenschlüsseln.Die Menge der Kandidatenschlüssel bildet die Basis für die Auswahl eines einzelnen Primärschlüssels.
AnzahlEs gibt vergleichsweise mehr Superschlüssel in einer Beziehung.Es gibt vergleichsweise weniger Kandidatenschlüssel in einer Beziehung.

Definition von Super-Schlüssel

Ein Superschlüssel ist ein grundlegender Schlüssel jeder Beziehung. Sie ist als Schlüssel definiert , der alle anderen Attribute in einer Beziehung identifizieren kann . Der Superschlüssel kann ein einzelnes Attribut oder eine Gruppe von Attributen sein. Zwei Entitäten haben nicht die gleichen Werte für die Attribute, aus denen ein Superschlüssel besteht. Es gibt mindestens einen oder mehrere dieser einen Schlüssel in einer Beziehung.

Ein minimaler Superschlüssel wird auch als Kandidatenschlüssel bezeichnet. Wir können also sagen, dass einige der Superschlüssel als Kandidatenschlüssel verifiziert werden. Wir werden später sehen, wie ein Superkey geprüft wird, um ein Kandidatenschlüssel zu werden.

Nehmen wir eine Beziehung R (A, B, C, D, E, F); Wir haben folgende Abhängigkeiten für eine Relation R, und wir haben jede als Superschlüssel geprüft.

Mit key können wir die restlichen Attribute der Tabelle, dh CDEF, identifizieren . In ähnlicher Weise können mit den Schlüsseln CD, ABD, DF und DEF verbleibende Attribute der Tabelle R identifiziert werden. Alle diese Schlüssel sind also Superschlüssel.

Wenn Sie jedoch einen Schlüssel- CB verwenden, können wir nur Werte für Attribut D und F finden, wir können den Wert für Attribute A und E nicht finden. Daher ist CB kein Superschlüssel. Das Gleiche ist der Fall mit Schlüssel D, wir können die Werte aller Attribute in einer Tabelle nicht mit Schlüssel D finden. Also ist D kein Superschlüssel.

Definition des Kandidatenschlüssels

Ein Superschlüssel, der eine geeignete Teilmenge eines anderen Superschlüssels derselben Beziehung ist, wird als minimaler Superschlüssel bezeichnet . Der minimale Superschlüssel wird als Kandidatschlüssel bezeichnet . Wie der Superschlüssel identifiziert auch ein Kandidatenschlüssel jedes Tupel in einer Tabelle eindeutig. Das Attribut eines Kandidatenschlüssels kann einen NULL- Wert annehmen.

Einer der Kandidatenschlüssel wird von DBA als Primärschlüssel ausgewählt. Vorausgesetzt, dass die Schlüsselattributwerte eindeutig sein müssen und nicht NULL enthalten. Die Attribute des Kandidatenschlüssels werden Hauptattribute genannt .

In obigem Beispiel haben wir die Superschlüssel für Relation R gefunden. Lassen Sie uns nun alle Superschlüssel auf Kandidatenschlüssel prüfen.

Superschlüssel AB ist eine richtige Teilmenge von Superschlüssel ABD . Wenn also ein minimaler Super-Schlüssel AB alle Attribute in einer Tabelle identifizieren kann, brauchen wir keinen größeren Schlüssel ABD . Daher ist der Superschlüssel AB ein Kandidatenschlüssel, während ABD nur der Superschlüssel ist.
In ähnlicher Weise ist ein Superschlüssel DF auch eine geeignete Untermenge von Superschlüssel DEF . Wenn also DF allein alle Attribute in einer Beziehung identifizieren kann, warum brauchen wir DEF . Daher wird der Superschlüssel DF zum Kandidatenschlüssel, während DEF nur ein Superschlüssel ist.

Die Super-Key- CD ist keine geeignete Teilmenge eines anderen Super-Keys. Wir können also sagen, dass CD ein minimaler Superschlüssel ist, der alle Attribute in einer Beziehung identifiziert. Daher ist CD ein Kandidatenschlüssel.

Während Schlüssel CB und D kein Superschlüssel sind, können sie nicht einmal der Kandidatenschlüssel sein. Bei Betrachtung der obigen Tabelle können Sie feststellen, dass jeder Kandidatenschlüssel ein Superschlüssel ist, die Umkehrung jedoch nicht stimmt.

Hauptunterschiede zwischen Superschlüssel und Kandidatenschlüssel

  1. Ein einzelnes Attribut oder eine Gruppe von Attributen, das alle Attribute einer bestimmten Beziehung eindeutig identifizieren kann, wird als Superschlüssel bezeichnet. Auf der anderen Seite wird ein Superschlüssel, der eine geeignete Teilmenge eines anderen Superschlüssels ist, als Kandidatenschlüssel bezeichnet.
  2. Alle Kandidatenschlüssel sind Superschlüssel, aber die Umkehrung ist nicht wahr.
  3. Der Satz von Superschlüsseln wird überprüft, um Kandidatenschlüssel zu finden, während der Satz von Kandidatenschlüsseln überprüft wird, um einen einzelnen Primärschlüssel auszuwählen.
  4. Superschlüssel sind vergleichsweise mehr als Kandidatenschlüssel.

Fazit:

Superschlüssel ist ein grundlegender Schlüssel jeder Beziehung. Sie müssen zuerst aufgezeichnet werden, bevor andere Schlüssel für die Relation erkannt werden, da sie die Basis für andere Schlüssel bilden. Kandidatenschlüssel sind wichtig, da sie dabei helfen, den wichtigsten Schlüssel jeder Beziehung zu erkennen, die ein Primärschlüssel ist.

Top