Unterschied zwischen Primärschlüssel und Eindeutiger Schlüssel

Der Primärschlüssel und der eindeutige Schlüssel sind eindeutige Schlüssel in einer relationalen Datenbank, die die Eindeutigkeit der Werte in einer Spalte oder in einem Satz von Spalten gewährleisten. Es gibt bereits eine vordefinierte eindeutige Schlüsselbedingung innerhalb einer Primärschlüsselbedingung. Während ein Primärschlüssel insbesondere zur Identifizierung jedes Datensatzes in der Tabelle verwendet wird, wird ein eindeutiger Schlüssel dagegen verwendet, um doppelte Einträge in einer Spalte mit Ausnahme eines Null-Eintrags zu verhindern. Beide Schlüssel können jedoch mehr als nur eine Spalte aus einer bestimmten Tabelle enthalten, und beide spielen beim Speichern und Abrufen von Daten eine entscheidende Rolle. Bei den Daten handelt es sich um eine Reihe von Tabellen mit Spalten, in denen Informationen aller Art gespeichert sind, auf die mit Anweisungen weiter zugegriffen werden kann. Hier kommen die Schlüssel zum Bild. Primärschlüssel und eindeutiger Schlüssel sind zwei eindeutige Schlüssel, die bestimmen, wie die Daten im System gespeichert werden sollen.

Primärschlüssel

Ein Primärschlüssel (auch über Primärschlüsselwort) ist ein eindeutiger Schlüssel in einer relationalen Datenbank, der jeden Datensatz in einer Datenbanktabelle identifiziert. Es handelt sich dabei um eine Art eindeutige Kennung, z. B. die Sozialversicherungsnummer einer Person, eine Telefonnummer, eine Führerscheinnummer oder ein Fahrzeugkennzeichen. Eine Datenbank darf nur einen Primärschlüssel haben.

Eine Tabelle in einer Datenbank enthält eine Spalte oder einen Satz von Spalten, die Werte enthalten, die jede Zeile in der Tabelle eindeutig identifizieren. Diese Spalte oder ein Satz von Spalten wird als Primärschlüssel der Tabelle bezeichnet, der eindeutige Werte enthalten muss und keine Nullwerte enthalten darf. Ohne Primärschlüssel funktioniert die relationale Datenbank nicht.

Ein Primärschlüssel wird erstellt, indem beim Erstellen oder Ändern einer Tabelle eine PRIMARY KEY-Einschränkung definiert wird. Im SQL-Standard kann ein Primärschlüssel eine oder mehrere Spalten enthalten, wobei jede Spalte implizit als NOT NULL definiert ist. Wenn Sie eine PRIMARY KEY-Einschränkung für mehr als eine Spalte definieren, kann dies zu einer Duplizierung von Werten innerhalb einer Spalte führen. Daher muss jede Kombination von Werten für alle Spalten eindeutig sein.

Ein Primärschlüssel hat folgende Funktionen:

  • Jede Tabelle muss einen und nur einen Primärschlüssel haben, nicht mehr als einen.
  • Ein Primärschlüssel darf keine NULL-Werte enthalten.
  • Sie kann aus einer oder mehreren Spalten bestehen.
  • Alle Spalten müssen als NOT NULL definiert sein.
  • Ein Primärschlüssel ist standardmäßig ein eindeutiger gruppierter Index.

Einzigartiger Schlüssel

Ein eindeutiger Schlüssel besteht aus einer oder mehreren Spalten / Feldern einer Tabelle, die einen Datensatz in einer Datenbanktabelle eindeutig identifizieren. Die UNIQUE KEY-Einschränkung stellt sicher, dass alle Werte in einer Spalte innerhalb der Datenbank eindeutig sind. Ein eindeutiger Schlüssel kann wie ein Primärschlüssel auch aus mehreren Spalten bestehen. Ein eindeutiger Schlüssel kann jedoch nur einen Nullwert akzeptieren. Keine zwei Zeilen haben dieselben Werte in einer Datenbanktabelle.

Ein eindeutiger Schlüssel ähnelt einem Primärschlüssel und kann während der Erstellung der Tabelle definiert werden. Wenn eine Spalte oder ein Satz von Spalten im relationalen Datenbanksystem als eindeutig gekennzeichnet ist, wird die Integrität der Werte überprüft, bevor die Einschränkung zugewiesen wird, um zu verhindern, dass zwei Datensätze identische Werte in einer bestimmten Spalte haben.

UNIQUE ist eine Einschränkung für eine nicht PRIMARY KEY-Spalte, die Folgendes kennzeichnet:

  • Eine UNIQUE KEY-Einschränkung garantiert die Eindeutigkeit der Werte.
  • In einer Tabelle können mehrere eindeutige Schlüssel definiert werden.
  • Eine Spalte kann einen NULL-Wert enthalten, aber nur ein NULL-Wert pro Spalte ist zulässig.
  • Ein eindeutiger Schlüssel kann standardmäßig einen nicht gruppierten Index erstellen.

Unterschied zwischen Primärschlüssel und Eindeutiger Schlüssel

1. Funktion

Ein Primärschlüssel ist eine Art eindeutiger Schlüsselbezeichner, der eine Zeile in einer Datenbanktabelle eindeutig identifiziert, während ein eindeutiger Schlüssel alle möglichen Zeilen identifiziert, die in einer Tabelle vorhanden sind, und nicht nur die aktuell vorhandenen Zeilen.

2. Verhalten

Ein Primärschlüssel wird zum Identifizieren eines Datensatzes in einer Datenbanktabelle verwendet, während ein eindeutiger Schlüssel verwendet wird, um doppelte Werte in einer Spalte mit Ausnahme eines Nulleintrags zu verhindern.

3. Indizierung

Ein Primärschlüssel erstellt standardmäßig einen eindeutigen gruppierten Index, während ein eindeutiger Schlüssel standardmäßig ein eindeutiger nicht gruppierter Index in einer Datenbanktabelle ist.

4. Nullwerte

Ein Primärschlüssel kann keine NULL-Werte in einer Datenbanktabelle akzeptieren, während ein eindeutiger Schlüssel nur einen NULL-Wert in der Tabelle akzeptieren kann.

5. Limit

Es kann nur einen und nur einen Primärschlüssel in einer Tabelle enthalten. Es können jedoch mehrere eindeutige Schlüssel für eine Tabelle in einem Datenbanksystem vorhanden sein.

Primärschlüssel vs. Eindeutiger Schlüssel

Primärschlüssel

Einzigartiger Schlüssel

Ein Primärschlüssel wird verwendet, um einen Datensatz / eine Zeile in einer Datenbanktabelle eindeutig zu identifizieren. Ein eindeutiger Schlüssel wird verwendet, um alle möglichen Zeilen in einer Tabelle eindeutig zu identifizieren, nicht nur die aktuell vorhandenen Zeilen.
Es akzeptiert keine NULL-Werte. Es kann nur einen NULL-Wert in einer Tabelle akzeptieren.
Standardmäßig handelt es sich um einen Clustered-Index. Dies bedeutet, dass die Daten in der Clusterindex-Sequenz angeordnet sind. Es ist standardmäßig ein eindeutiger, nicht gruppierter Index.
Es kann nur einen Primärschlüssel in einer Tabelle enthalten. Eine Tabelle kann mehrere eindeutige Schlüssel haben.
Der Primärschlüssel wird mithilfe der PRIMARY KEY-Einschränkung definiert. Der eindeutige Schlüssel wird mit einer UNIQUE-Einschränkung dargestellt.
Wird verwendet, um eine Zeile in einer Tabelle zu identifizieren. Wird verwendet, um doppelte Werte in einer Spalte zu verhindern.
Primärschlüsselwerte können nicht geändert oder gelöscht werden. Eindeutige Schlüsselwerte können geändert werden.

Zusammenfassung

  • Sowohl der Primärschlüssel als auch der eindeutige Schlüssel sind Entitätsintegritätsbedingungen, die in vielen Aspekten ähnlich sind. Bei der Programmierung haben sie jedoch durchaus unterschiedliche Unterschiede. Beides sind wesentliche Konzepte, die hauptsächlich in Datenbankverwaltungssystemen verwendet werden.
  • Der Primärschlüssel besteht aus einer oder mehreren Spalten / Feldern einer Datenbanktabelle, die einen Datensatz in einer Tabelle eindeutig identifizieren. Der eindeutige Schlüssel verhindert dagegen, dass zwei Datensätze identische Werte in einer Spalte haben.
  • Konzeptionell kann es nur einen PRIMARY KEY für eine bestimmte Tabelle geben, während es für eine Tabelle mehr als einen UNIQUE KEY geben kann.
  • Ein Primärschlüssel muss eindeutig sein, aber ein eindeutiger Schlüssel muss nicht unbedingt der Primärschlüssel sein.
  • Ein Primärschlüssel kann keine NULL-Werte in einer Tabelle akzeptieren, wohingegen ein eindeutiger Schlüssel NULL-Werte zulassen kann, mit Ausnahme von nur einem NULL-Wert in einer Tabelle.