logo

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

Schlüssel in MySQL sind die Spalten oder Spaltensätze, die zum Aufbau einer Beziehung zwischen einer oder mehr als zwei Tabellen verwendet werden. Sie werden auch für den Zugriff auf Datensätze aus der Tabelle verwendet. Beide Schlüssel bieten eine garantierte Eindeutigkeit für eine Spalte oder eine Reihe von Spalten in einer Tabelle oder Beziehung. Der Hauptunterschied zwischen ihnen besteht darin, dass der Primärschlüssel jeden Datensatz in der Tabelle identifiziert und der eindeutige Schlüssel doppelte Einträge in einer Spalte mit Ausnahme eines NULL-Werts verhindert . In diesem Artikel werden wir wesentliche Unterschiede zwischen Primär- und eindeutigen Schlüsseln anhand verschiedener Parameter vergleichen. Bevor wir einen Vergleich anstellen, gehen wir kurz auf diese Schlüssel ein.

Tojson Java
Primärschlüssel vs. eindeutiger Schlüssel

Was ist ein Primärschlüssel?

Der Primärschlüssel ist a eindeutig oder ungleich Null Schlüssel, der jeden Datensatz in dieser Tabelle oder Beziehung eindeutig identifiziert. Die Primärschlüsselspalte kann keine doppelten Werte speichern, was bedeutet, dass Primärschlüsselspaltenwerte immer eindeutig sind. Es wird auch a genannt minimaler Superschlüssel ; Daher können wir in keiner Beziehung mehr als einen Primärschlüssel angeben. Eine Primärschlüsselspalte einer Tabelle kann von einer Fremdschlüsselspalte einer anderen Tabelle referenziert werden.

Zum Beispiel , wir haben eine Tabelle mit dem Namen Studenten mit Attributen wie Stud_ID, Roll_No, Name, Mobile und Email.

Primärschlüssel vs. eindeutiger Schlüssel

Hier nur die Rollen_Nr Die Spalte darf niemals einen identischen NULL-Wert enthalten. Wir wissen, dass jeder Schüler eine eindeutige Rollennummer hat. Daher können zwei Schüler niemals die gleiche Rollennummer haben. Diese Funktion hilft dabei, jeden Datensatz in der Datenbank eindeutig zu identifizieren. Daher können wir das Roll_No-Attribut zu einem Primärschlüssel machen.

Merkmale des Primärschlüssels

Im Folgenden sind die wesentlichen Hauptmerkmale aufgeführt:

  • Die Primärschlüsselspalte darf keine doppelten Werte enthalten.
  • Der Primärschlüssel implementiert die Entitätsintegrität der Tabelle.
  • Eine Tabelle kann nicht mehr als eine Primärschlüsselspalte haben.
  • Wir können den Primärschlüssel aus einem oder mehreren Tabellenfeldern erstellen.
  • Die Primärschlüsselspalte sollte NOT NULL-Einschränkungen haben.

Was ist ein eindeutiger Schlüssel?

Der einzigartiger Schlüssel ist eine einzelne Spalte oder eine Kombination von Spalten in einer Tabelle zur eindeutigen Identifizierung von Datenbankdatensätzen. Ein einzigartiger Schlüssel verhindert aus der Lagerung doppelte Werte in der Spalte. Eine Tabelle kann im Gegensatz zu einer Primärschlüsselspalte mehrere eindeutige Schlüsselspalten enthalten. Dieser Schlüssel ähnelt dem Primärschlüssel, außer dass in der eindeutigen Schlüsselspalte ein NULL-Wert gespeichert werden kann. Der eindeutige Schlüssel wird auch genannt einzigartige Einschränkungen und kann durch den Fremdschlüssel einer anderen Tabelle referenziert werden.

Zum Beispiel Betrachten wir die gleichnamige Tabelle Studenten mit Attributen wie Stud_ID, Roll_No, Name, Mobile und Email.

Primärschlüssel vs. eindeutiger Schlüssel

Hier Stud_ID kann als eindeutige Einschränkung zugewiesen werden, da jeder Schüler eine eindeutige Identifikationsnummer haben muss. Wenn ein Student die Hochschule wechselt, hätte er oder sie keinen Studentenausweis mehr. In diesem Fall kann der Eintrag Folgendes enthalten: NULL Wert, da eine eindeutige Schlüsselbeschränkung das Speichern von NULL zulässt, es sollte jedoch nur einer sein.

Benutzer MySQL anzeigen

Merkmale des einzigartigen Schlüssels

Im Folgenden sind die wesentlichen Alleinstellungsmerkmale aufgeführt:

  • Wir können den eindeutigen Schlüssel aus einem oder mehreren Tabellenfeldern erstellen.
  • Eine Tabelle kann mehrere eindeutige Schlüsselspalten definieren.
  • Standardmäßig befindet sich ein eindeutiger Schlüssel in nicht gruppierten eindeutigen Indizes.
  • Die Unique-Constraint-Spalte kann NULL-Werte speichern, es ist jedoch nur ein NULL-Wert pro Spalte zulässig.
  • Der Fremdschlüssel kann auf die Eindeutigkeitsbeschränkung verweisen, um die Einzigartigkeit einer Tabelle zu bewahren.

Hauptunterschiede zwischen Primärschlüssel und eindeutigem Schlüssel

Die folgenden Punkte erläutern die wesentlichen Unterschiede zwischen Primär- und Kandidatenschlüsseln:

dateformat.format Java
  • Ein Primärschlüssel kann ein oder mehrere Felder einer Tabelle bilden, um Datensätze in einer Tabelle eindeutig zu identifizieren. Andererseits verhindert ein eindeutiger Schlüssel, dass zwei Zeilen doppelte Einträge in einer Spalte enthalten.
  • Eine Tabelle in einer relationalen Datenbank kann nicht mehr als einen Primärschlüssel haben, während es pro Tabelle mehrere eindeutige Schlüssel geben kann.
  • Eine Primärschlüsselspalte darf keine NULL-Werte enthalten, wohingegen ein eindeutiger Schlüssel NULL-Werte haben kann, in einer Tabelle jedoch nur ein NULL-Wert zulässig ist.
  • Ein Primärschlüssel sollte eindeutig sein, aber ein eindeutiger Schlüssel kann nicht unbedingt der Primärschlüssel sein.
  • Der Primärschlüssel ist standardmäßig ein Clustered-Index, in dem die Daten physisch im sequentiellen Index organisiert sind. Im Gegensatz dazu ist der eindeutige Schlüssel ein eindeutiger, nicht gruppierter Index.
  • Der Primärschlüssel implementiert die Integrität der Entität, während der eindeutige Schlüssel eindeutige Daten erzwingt.

Vergleichstabelle zwischen Primärschlüssel und eindeutigem Schlüssel

In der folgenden Vergleichstabelle werden die wichtigsten Unterschiede kurz erläutert:

Vergleichsbasis Primärschlüssel Einzigartiger Schlüssel
Basic Der Primärschlüssel wird als eindeutige Kennung für jeden Datensatz in der Tabelle verwendet. Der eindeutige Schlüssel ist auch eine eindeutige Kennung für Datensätze, wenn der Primärschlüssel nicht in der Tabelle vorhanden ist.
NULL Wir können keine NULL-Werte in der Primärschlüsselspalte speichern. Wir können einen NULL-Wert in der eindeutigen Schlüsselspalte speichern, es ist jedoch nur ein NULL-Wert zulässig.
Zweck Es erzwingt die Integrität der Entität. Es erzwingt eindeutige Daten.
Index Der Primärschlüssel erstellt standardmäßig einen Clustered-Index. Der eindeutige Schlüssel erstellt standardmäßig einen nicht gruppierten Index.
Nummer des Schlüssels Jede Tabelle unterstützt nur einen Primärschlüssel. Eine Tabelle kann mehr als einen eindeutigen Schlüssel haben.
Wertänderung Wir können die Primärschlüsselwerte nicht ändern oder löschen. Wir können die eindeutigen Schlüsselspaltenwerte ändern.
Verwendet Es wird verwendet, um jeden Datensatz in der Tabelle zu identifizieren. Es verhindert das Speichern doppelter Einträge in einer Spalte mit Ausnahme eines NULL-Werts.
Syntax Mit der folgenden Syntax können wir eine Primärschlüsselspalte in der Tabelle erstellen:
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
Mit der folgenden Syntax können wir eine eindeutige Schlüsselspalte in der Tabelle erstellen:
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Abschluss

In diesem Artikel haben wir einen Vergleich zwischen Primärschlüssel- und eindeutigen Schlüsselbeschränkungen durchgeführt. Hier sind wir zu dem Schluss gekommen, dass ein eindeutiger Schlüssel nützlich ist, wenn die Spalten keine doppelten Werte enthalten sollen. Und der Primärschlüssel ist nützlich, wenn wir keinen NULL-Wert in der Tabelle behalten möchten. Es kann auch ideal sein, wenn wir einen Fremdschlüssel in einer anderen Tabelle haben, um eine Beziehung zwischen Tabellen herzustellen.