© Yurich/Shutterstock.com
Wenn Sie relationale Datenbanken mit Systemen wie MySQL verwenden, sind Schlüssel ein wesentlicher Bestandteil Ihres Betriebs. Im Allgemeinen werden Schlüssel verwendet, um Zeilen in einer Datenbank zu identifizieren und Beziehungen zwischen Datenwerten auszudrücken. Es gibt viele Arten von Schlüsseln, die in diesen Datenbanken verwendet werden, aber die gebräuchlichsten und wichtigsten sind die Primär-und Kandidatenschlüssel. Finden Sie in diesem Artikel heraus, was diese Begriffe bedeuten und wie sie verwendet werden.
Candidate Key Vs. Primärschlüssel: Direkter Vergleich
In dieser Datenbank ist Customer_id der Primärschlüssel der Tabelle Customer.
©Joe Techapanupreeda/Shutterstock.com
Kandidat Vs. Primärschlüssel: Was ist der Unterschied?
Die Hauptunterschiede wurden in der obigen Tabelle zusammengefasst, aber schauen wir uns das genauer an.
Bedeutung
In einfachen Worten , ist ein Kandidatenschlüssel ein Feld oder eine Kombination von Feldern, die verwendet werden könnten, um jeden Datensatz in der Tabelle eindeutig zu identifizieren. Daher können Sie mehrere potenzielle Schlüsselkandidaten in einer Tabelle haben. Betrachten wir zum Beispiel eine Tabelle mit den Spalten „ID“, „Name“, „Alter“, „Geburtsdatum“, „Gewicht“, „Größe“ und „Adresse“. In diesem Fall könnten wir jeden Datensatz entweder mit dem „ID“-Feld oder möglicherweise mit den Feldern „Name“ und „Geburtsdatum“ eindeutig identifizieren, da diese wahrscheinlich eindeutig sind.
Andererseits gibt es kann nur ein Primärschlüssel pro Tabelle sein. Dies liegt daran, dass es sich um einen bestimmten Schlüssel handelt, der aus den Kandidatenschlüsseln ausgewählt wurde, um die Tabelle darzustellen. Wenn wir mit dem vorherigen Beispiel fortfahren, können wir sehen, dass „ID“ eine gute Wahl für einen Primärschlüssel ist, da dieser für jede Person in der Tabelle eindeutig ist, während jedes andere Feld möglicherweise doppelte Werte enthalten könnte.
NULL-Status
Dies ist ein weiterer Bereich, in dem sich die Schlüssel unterscheiden. Kandidatenschlüssel können möglicherweise Nullwerte enthalten, aber nur, wenn sie die Kriterien für einen Kandidatenschlüssel erfüllen – die Eindeutigkeits-und Minimalitätskriterien. Damit das Feld ein potenzieller Schlüsselkandidat ist, muss es die Tabelle anhand minimaler Attribute eindeutig identifizieren können. Mit minimal meinen wir, dass, wenn wir ein Attribut aus dem Schlüssel entfernen, es seine Eindeutigkeit verlieren würde. Als solches enthält es die Mindestanzahl von Attributen, um eine eindeutige Kennung zu sein. Wenn wir uns das vorherige Beispiel ansehen, können wir entweder die Felder „Name“ und „Geburtsdatum“ als Kandidatenschlüssel nehmen, sowie das Feld „ID“. Denn selbst wenn andere Attribute entfernt werden, können diese immer noch zur eindeutigen Identifizierung der Tabelle verwendet werden. Daher können diese Felder theoretisch Nullwerte enthalten.
Primärschlüssel können jedoch keine Nullwerte enthalten. Dies liegt daran, dass, wenn das Feld Nullwerte enthalten würde, dies keine eindeutigen Werte wären. Daher würde der Primärschlüssel die Tabelle nicht eindeutig identifizieren.
Eindeutigkeit
Beide Arten von Schlüsseln sind eindeutig, aber es gibt einige Unterschiede in ihrer Eindeutigkeit. Es kann mehrere potenzielle Schlüsselkandidaten geben, solange sie alle verwendet werden können, um eine Tabelle eindeutig zu identifizieren, also sind Kandidatenschlüssel auf diese Weise nicht streng eindeutig, da es mehr als einen geben kann.
In Im Gegensatz dazu kann pro Tabelle nur ein Primärschlüssel identifiziert werden, entweder eine Spalte oder eine Kombination. Daher ist auch der Primärschlüssel eindeutig und wird für jede Tabelle alleine verwendet.
Verwendung
Beide Arten von Schlüsseln können potenziell verwendet werden, um eine Tabelle eindeutig zu identifizieren, aber ihre Verwendung tut es variieren. Kandidatenschlüssel können für andere Datenbankzwecke verwendet werden. Dazu gehören:
Indizierung, um Abruf-und Suchvorgänge zu beschleunigen. Durchsetzung von Beschränkungen, wie z. B. der Eindeutigkeitsbeschränkung. Das bedeutet, dass keine zwei Zeilen in der Tabelle den gleichen Wert für die mit diesem Schlüssel identifizierten Spalten haben dürfen. Optimierung von Abfragen, damit komplexe Abfragen effizienter gestaltet werden können. Datenmodellierung, wie z.
Primärschlüssel haben einige allgemeine Verwendungszwecke, wie Indizierung, Datenmodellierung und Durchsetzung der Eindeutigkeit, aber sie können auch für die referenzielle Integrität verwendet werden. Einfach ausgedrückt bedeutet dies, dass der Primärschlüssel in anderen Tabellen als sogenannter Fremdschlüssel verwendet werden kann. Dies ist ein Schlüssel in einer anderen Tabelle, der auf den Primärschlüssel verweist und sicherstellt, dass die Werte in dieser Spalte den Werten in der Primärschlüsselspalte entsprechen. Auf diese Weise können Primärschlüssel verwendet werden, um die Datenbankkonsistenz aufrechtzuerhalten.
Das richtige Layout mit Primärschlüsseln ist sehr wichtig bei der Datenbankplanung.
©Wichy/Shutterstock.com
Candidate Key Vs. Primärschlüssel: Zusammenfassung
Abschließend sind Kandidatenschlüssel potenzielle Primärschlüssel, die für Indizierungszwecke, Abfrageoptimierung, Datenmodellierung und Durchsetzung von Einschränkungen verwendet werden. Primärschlüssel werden ähnlich verwendet, aber auch für die referentielle Integrität und die Aufrechterhaltung der Eindeutigkeit einer Tabelle. Sie können zwar mehrere Kandidatenschlüssel pro Tabelle haben, aber nur einen Primärschlüssel. Sie können auch Nullwerte in Kandidatenschlüsselfeldern haben, aber nicht in Primärschlüsselfeldern.
Kandidatenschlüssel Vs. Primärschlüssel: Wann sollten Sie jeden verwenden? FAQs (Frequently Asked Questions)
Was ist ein Kandidatenschlüssel?
Ein Kandidatenschlüssel ist eine oder mehrere Spalten in einer Tabelle, die die Tabelle eindeutig identifizieren können Reihen. Sie sind potenzielle Primärschlüssel, und es kann einen oder mehrere pro Tabelle geben.
Wofür werden Kandidatenschlüssel verwendet?
Sie sind an Eindeutigkeit gewöhnt Identifizieren von Zeilen sowie für Indizierung, Abfrageoptimierung, Datenmodellierung und Durchsetzung von Einschränkungen.
Was ist ein Primärschlüssel?
Ein Primärschlüssel ist einer oder mehr Spalten in einer Tabelle, die die Zeilen eindeutig identifiziert und aus den Kandidatenschlüsseln ausgewählt wird. Sie können nur einen pro Tabelle haben.
Wofür werden Primärschlüssel verwendet?
Sie werden verwendet, um eine Tabelle eindeutig zu identifizieren und zwischen ihnen referenzielle Integrität zu erzwingen Tabellen sowie für die gleichen Zwecke wie Schlüsselkandidaten.
Was ist ein Fremdschlüssel?
Ein Fremdschlüssel besteht aus einer oder mehreren Spalten in einer separate Tabelle, die auf den Primärschlüssel der ersten Tabelle verweist. Dies hilft, die referenzielle Integrität zu erzwingen und eine Beziehung zwischen Tabellen herzustellen. Wenn Werte des Primärschlüssels aktualisiert werden, werden diese Änderungen im Fremdschlüssel widergespiegelt.