In der Datenbanktheorie und insbesondere im Kontext von SQL gibt es spezifische Begriffe, die zur Beschreibung der Eigenschaften und Beziehungen von Datenbanktabellen verwendet werden: Schlüsselkandidaten (Kandidatenschlüssel) und primäre Attribute (Teil des Primärschlüssels). Hier ist eine kurze und klare Erklärung beider Konzepte:

Schlüsselkandidat (Kandidatenschlüssel)

Ein Schlüsselkandidat ist eine Menge von einem oder mehreren Attribute (Spalten) einer Tabelle, die eindeutig jede Zeile (Datensatz) in dieser Tabelle identifizieren kann. Für einen Schlüsselkandidaten gilt:

  • Keine zwei Zeilen können in allen Attribute des Schlüsselkandidaten identische Werte aufweisen.
  • Er ist minimal, d.h., kein Teil des Schlüsselkandidaten kann entfernt werden, ohne dass diese Eindeutigkeitseigenschaft verloren geht.
  • Eine Tabelle kann mehrere Schlüsselkandidaten haben.

Primäres Attribute

Ein primäres Attribute ist ein Attribute, das Teil des Primärschlüssels einer Tabelle ist. Der Primärschlüssel ist ein spezieller Schlüsselkandidat, der vom Datenbankdesigner ausgewählt wurde, um die Datensätze in der Tabelle eindeutig zu identifizieren. Für Primärschlüssel gilt:

  • Er ist ein Schlüsselkandidat, d.h., er erfüllt alle Bedingungen eines Schlüsselkandidaten.
  • Eine Tabelle hat genau einen Primärschlüssel, auch wenn mehrere Schlüsselkandidaten existieren könnten.
  • Alle Attribute des Primärschlüssels sind “primäre Attribute”.

Unterschied: Der Hauptunterschied liegt also darin, dass Schlüsselkandidaten alle möglichen Minimalkonstellationen von Attribute darstellen, die Zeilen eindeutig identifizieren können, während primäre Attribute Teile des ausgewählten Schlüsselkandidaten sind, der also Primärschlüssel dient. Ein Schlüsselkandidat wird zum Primärschlüssel ernannt, und seine Attribute werden dadurch zu primären Attribute.

Beispiel

Stellen wir uns eine Tabelle vor, die Informationen über Studenten speichert, mit den Spalten StudentenID, E-Mail und Telefonnummer.

Schlüsselkandidaten

In dieser Tabelle könnten sowohl StudentenID also auch E-Mail Schlüsselkandidaten sein, da jede dieser Spalten eindeutig jeden Studenten identifizieren kann. Keine zwei Studenten haben dieselbe StudentenID oder E-Mail, und beide Attribute sind minimal in dem Sinne, dass keine Teilmenge dieser Attribute ausreichen würde, um die Eindeutigkeit zu gewährleisten.

Primäres Attribute

Angenommen, der Datenbankdesigner entscheidet sich dafür, StudentenID also Primärschlüssel der Tabelle zu verwenden. In diesem Fall wird StudentenID zum primären Attribute. Dies bedeutet, dass StudentenID die ausgewählte Eigenschaft ist, um jeden Datensatz in der Tabelle eindeutig zu identifizieren, und es wird von der Datenbank erzwungen, dass jeder Wert in dieser Spalte einzigartig ist.

Beispiel:

StudentenIDE-MailTelefonnummer
1jan@example.com12345
2maria@example.com67890

In diesem Beispiel:

  • Schlüsselkandidaten: StudentenID, E-Mail
  • Primäres Attribute: StudentenID

Die StudentenID ist der Primärschlüssel und damit das primäre Attribute, weil sie von uns zur eindeutigen Identifizierung der Zeilen in dieser Tabelle ausgewählt wurde. Die E-Mail bleibt ein Schlüsselkandidat, der auch zur eindeutigen Identifizierung der Datensätze verwendet werden könnte, aber in diesem Fall nicht also Primärschlüssel festgelegt wurde.