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

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

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

Video: Unterschied zwischen Primärschlüssel und eindeutigem Schlüssel
Video: Bruce Lee vs Jackie Chan 2024, November
Anonim

Primärschlüssel vs. eindeutiger Schlüssel

Eine Sp alte oder eine Gruppe von Sp alten, die verwendet werden kann, um eine Zeile oder eine Gruppe von Zeilen in einer Datenbank zu identifizieren oder darauf zuzugreifen, wird als Schlüssel bezeichnet. Ein eindeutiger Schlüssel ist ein Schlüssel, der eine Zeile in einer Tabelle im Kontext relationaler Datenbanken eindeutig identifizieren kann. Ein eindeutiger Schlüssel besteht aus einer einzelnen Sp alte oder einer Reihe von Sp alten. Ein Primärschlüssel ist auch eine Kombination von Sp alten in einer Tabelle, die eine Zeile eindeutig identifizieren. Aber es wird als Sonderfall des eindeutigen Schlüssels betrachtet.

Was ist ein eindeutiger Schlüssel?

Wie bereits erwähnt, ist ein eindeutiger Schlüssel eine einzelne Sp alte oder ein Satz von Sp alten, die eine Zeile in einer Tabelle eindeutig identifizieren können. Ein eindeutiger Schlüssel ist also so eingeschränkt, dass keine zwei Werte davon gleich sind. Eine wichtige Eigenschaft ist, dass die eindeutigen Schlüssel die NOT NULL-Einschränkung nicht erzwingen. Da NULL das Fehlen eines Werts darstellt, bedeutet es nicht, dass die Werte gleich sind, wenn zwei Zeilen NULL in einer Sp alte haben. Als eindeutiger Schlüssel definierte Sp alte lässt nur einen einzigen NULL-Wert in dieser Sp alte zu. Dann kann dies verwendet werden, um diese bestimmte Zeile eindeutig zu identifizieren. Beispielsweise kann in einer Tabelle mit Studenteninformationen die Studenten-ID als eindeutiger Schlüssel definiert werden. Da keine zwei Studenten die gleiche ID haben können, identifiziert sie einen einzelnen Studenten eindeutig. Die Sp alte Studenten-ID erfüllt also alle Eigenschaften eines eindeutigen Schlüssels. Abhängig vom Design einer Datenbank kann eine Tabelle mehr als einen eindeutigen Schlüssel haben.

Was ist der Primärschlüssel?

Primärschlüssel ist auch eine Sp alte oder eine Kombination von Sp alten, die eine Zeile in einer Tabelle einer relationalen Datenbank eindeutig definiert. Eine Tabelle kann höchstens einen Primärschlüssel haben. Der Primärschlüssel erzwingt die implizite NOT NULL-Einschränkung. Eine als Primärschlüssel definierte Sp alte kann also keine NULL-Werte enth alten. Der Primärschlüssel kann ein normales Attribut in der Tabelle sein, das garantiert eindeutig ist, wie z. B. eine Sozialversicherungsnummer, oder ein eindeutiger Wert, der vom Datenbankverw altungssystem generiert wird, wie z. B. ein Globally Unique Identifier (GUID) in Microsoft SQL Server. Primärschlüssel werden durch die PRIMARY KEY-Einschränkung im ANSI-SQL-Standard definiert. Der Primärschlüssel kann auch beim Erstellen der Tabelle definiert werden. SQL lässt zu, dass der Primärschlüssel aus einer oder mehreren Sp alten besteht, und jede Sp alte, die im Primärschlüssel enth alten ist, wird implizit als NOT NULL definiert. Einige Datenbankverw altungssysteme erfordern jedoch, dass die Primärschlüsselsp alten explizit NICHT NULL sind.

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

Obwohl sowohl der Primärschlüssel als auch der eindeutige Schlüssel eine oder mehrere Sp alten sind, die eine Zeile in einer Tabelle eindeutig identifizieren können, weisen sie einige wichtige Unterschiede auf. Am wichtigsten ist, dass eine Tabelle nur einen einzigen Primärschlüssel haben kann, während sie mehr als einen eindeutigen Schlüssel haben kann. Der Primärschlüssel kann als Sonderfall des eindeutigen Schlüssels betrachtet werden. Ein weiterer Unterschied besteht darin, dass Primärschlüssel eine implizite NOT NULL-Einschränkung haben, während der eindeutige Schlüssel diese Einschränkung nicht hat. Daher können eindeutige Schlüsselsp alten NULL-Werte enth alten oder nicht, aber Primärschlüsselsp alten können keine NULL-Werte enth alten.

Empfohlen: