7 Unterschied zwischen Superschlüssel und Kandidatenschlüssel

Contents

Was ist ein Schlüssel in DBMS?

Schlüssel in DBMS ist ein Attribut oder eine Reihe von Attributen, die Ihnen helfen, eine Zeile (Tupel) in einer Beziehung (Tabelle) zu identifizieren. Sie ermöglichen es Ihnen, die Beziehung zwischen zwei Tabellen zu finden. Mithilfe von Schlüsseln können Sie eine Zeile in einer Tabelle anhand einer Kombination aus einer oder mehreren Spalten in dieser Tabelle eindeutig identifizieren. Schlüssel ist auch hilfreich, um eindeutige Datensätze oder Zeilen aus der Tabelle zu finden. Der Datenbankschlüssel ist auch hilfreich, um eindeutige Datensätze oder Zeilen aus der Tabelle zu finden.

Was ist Superkey?

Superschlüssel ist ein einzelner Schlüssel oder eine Gruppe mehrerer Schlüssel, die Tupel in einer Tabelle eindeutig identifizieren können. Super Key kann mehrere Attribute enthalten, die Tupel in einer Tabelle möglicherweise nicht unabhängig voneinander identifizieren können, aber wenn sie mit bestimmten Schlüsseln gruppiert werden, können sie Tupel eindeutig identifizieren. Alle Superschlüssel können keine Kandidatenschlüssel sein, aber das Gegenteil ist wahr. In einer Beziehung ist die Anzahl der Superschlüssel größer als die Anzahl der Kandidatenschlüssel. 

Beispiel

Beispielsweise könnte eine Tabelle zum Speichern von Kundenstammdaten Spalten wie die folgenden enthalten:

  • Kundenname
  • Kundennummer
  • Sozialversicherungsnummer (SSN)
  • Adresse
  • Geburtsdatum

Ein bestimmter Satz von Spalten kann extrahiert und garantiert einzigartig für jeden Kunden sein. Beispiele für Superkeys sind wie folgt:

  • Name+SSN+Geburtsdatum
  • ID+Name+SSN

Dieser Prozess kann jedoch weiter reduziert werden. Es kann davon ausgegangen werden, dass die Kunden-ID für jeden Kunden eindeutig ist. Daher kann der Superschlüssel auf nur ein Feld reduziert werden, die Kunden-ID, die der Kandidatenschlüssel ist. Um jedoch absolute Eindeutigkeit zu gewährleisten, kann ein zusammengesetzter Kandidatenschlüssel gebildet werden, indem die Kunden-ID mit der SSN kombiniert wird.

Was Sie über Superschlüssel wissen müssen

  • Ein Superschlüssel ist eine beliebige Kombination von Spalten, die eine Zeile in einer Tabelle eindeutig identifiziert.
  • Ein Superschlüssel ist ein beliebiger Satz von Attributen, dessen Werte für alle möglichen Sätze von Tupeln in einer Tabelle zu jeder Zeit garantiert eindeutig sind.  
  • Superschlüssel ist ein Attribut (oder Satz von Attributen), das verwendet wird, um alle Attribute in einer Beziehung eindeutig zu identifizieren.
  • Die Kombination verschiedener Superschlüssel erzeugt die Kriterien zur Auswahl der Kandidatenschlüssel.
  • Alle Superschlüssel können nicht Kandidatenschlüssel sein.
  • Die Attribute von Superschlüsseln können NULL-Werte enthalten.
  • In einer Beziehung ist die Anzahl der Superschlüssel größer als die Anzahl der Kandidatenschlüssel.

Was ist ein Kandidatenschlüssel?

Ein Kandidatenschlüssel oder einfach ein Schlüssel einer relationalen Datenbank ist ein minimaler Superschlüssel. Mit anderen Worten, es handelt sich um einen beliebigen Satz von Spalten, die in jeder Zeile eine eindeutige Kombination von Werten aufweisen, mit der zusätzlichen Einschränkung, dass das Entfernen einer Spalte möglicherweise doppelte Zeilen erzeugen würde. 

Sie sind einspaltig, da sie nicht durch Kombinieren mehrerer Spalten hergestellt werden. Aus diesem Satz von Kandidatenschlüsseln kann ein Primärschlüssel ausgewählt werden, was sich als schwierig erweisen kann. Kandidatenschlüssel sind eine Teilmenge der Superschlüssel-Obermenge.

Der Kandidatenschlüssel hilft bei der Bestimmung der Primzahl- und Nicht-Primzahl-Attribute einer Tabelle und stellt die Integrität der Daten sicher, indem er doppelte Daten verhindert. Daher ist der Kandidatenschlüssel ein wichtiges Konzept zum Entwerfen des Schemas einer Datenbank.

Was Sie über Candidate Key wissen müssen

  • Ein Kandidatenschlüssel ist ein Superschlüssel, aus dem keine Spalten entfernt werden können, ohne dass die eindeutige Identifizierungseigenschaft verloren geht.
  • Ein Kandidatenschlüssel ist einfach der „kürzeste“ Superschlüssel. Kandidatenschlüssel sind einzelne Spalten in einer Tabelle, die sich für die Eindeutigkeit jeder Zeile/jedes Tupels qualifizieren. Jede Tabelle muss mindestens einen Kandidatenschlüssel haben, kann aber gleichzeitig mehrere haben.
  • Verschiedene Kandidatenschlüssel, die miteinander kombiniert werden, erzeugen Kriterien zur Auswahl der Primärschlüssel.
  • Alle Kandidatenschlüssel sind Superschlüssel.
  • In einer Beziehung ist die Anzahl der Kandidatenschlüssel kleiner als die Anzahl der Superschlüssel.

Unterschied zwischen Superschlüssel und Kandidatenschlüssel in tabellarischer Form

GRUNDLAGE DES VERGLEICHSSUPERSCHLÜSSELKANDIDATENSCHLÜSSEL  
DefinitionEin Superschlüssel ist eine beliebige Kombination von Spalten, die eine Zeile in einer Tabelle eindeutig identifiziert.  Ein Kandidatenschlüssel ist ein Superschlüssel, aus dem keine Spalten entfernt werden können, ohne dass die eindeutige Identifizierungseigenschaft verloren geht.  
BeschreibungEin Superschlüssel ist ein beliebiger Satz von Attributen, dessen Werte für alle möglichen Sätze von Tupeln in einer Tabelle zu jeder Zeit garantiert eindeutig sind.   Ein Kandidatenschlüssel ist einfach der „kürzeste“ Superschlüssel. Kandidatenschlüssel sind einzelne Spalten in einer Tabelle, die sich für die Eindeutigkeit jeder Zeile/jedes Tupels qualifizieren.
NaturSuperschlüssel ist ein Attribut (oder Satz von Attributen), das verwendet wird, um alle Attribute in einer Beziehung eindeutig zu identifizieren.  Der Kandidatenschlüssel ist eine richtige Teilmenge eines Superschlüssels.  
KombinationDie Kombination verschiedener Superschlüssel erzeugt die Kriterien zur Auswahl der Kandidatenschlüssel.  Verschiedene Kandidatenschlüssel, die miteinander kombiniert werden, erzeugen Kriterien zur Auswahl der Primärschlüssel.  
FunktionalitätAlle Superschlüssel können nicht Kandidatenschlüssel sein.  Alle Kandidatenschlüssel sind Superschlüssel.  
NULL-WerteDie Attribute von Superschlüsseln können NULL-Werte enthalten.  Die Attribute des Kandidatenschlüssels können auch NULL-Werte enthalten.  
Im VerhältnisIn einer Beziehung ist die Anzahl der Superschlüssel größer als die Anzahl der Kandidatenschlüssel.  In einer Beziehung ist die Anzahl der Kandidatenschlüssel kleiner als die Anzahl der Superschlüssel.  

Zusammenhängende Posts:

  1. 12 Unterschied zwischen Primärschlüssel und Fremdschlüssel mit Beispielen
  2. 6 Unterschied zwischen Primär- und Sekundärschlüssel
  3. Unterschied zwischen starkem Entitätssatz und schwachem Entitätssatz in DBMS (mit Beispielen)
  4. Unterschied zwischen Union und Join in SQL

osky