Unterschied zwischen Primärschlüssel und Fremdschlüssel
Beide, der Primärschlüssel und der Fremdschlüssel, werden in relationalen Datenbankmanagementsystemen (RDBMS) verwendet, wobei der Primärschlüssel ein eindeutig identifiziertes Feld ist, das als Referenz für den Bezug der Tabellen im Datenbanksystem verwendet werden kann. Auf der anderen Seite ist der Fremdschlüssel kein eindeutiges Feld und wird verwendet, um eine Verbindung mit dem Primärschlüssel einer anderen Tabelle innerhalb derselben Datenbank herzustellen. Im Gegensatz zu einem Primärschlüssel kann ein Fremdschlüsselfeld NULL-Werte enthalten.
Kopf-an-Kopf-Vergleich zwischen Primärschlüssel und Fremdschlüssel (Infografik)
Nachfolgend finden Sie die 6 wichtigsten Unterschiede zwischen Primärschlüssel und Fremdschlüssel:
Starten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests& Sonstiges
Schlüsselunterschiede zwischen Primärschlüssel vs. Fremdschlüssel
Lassen Sie uns einige der wichtigsten Schlüsselunterschiede zwischen Primärschlüssel vs. Fremdschlüssel diskutieren:
- Der Primärschlüssel identifiziert die Datensätze in einer Tabelle eindeutig, während der Fremdschlüssel dazu dient, die Tabellen zu verknüpfen, d.e., den Primärschlüssel einer anderen Tabelle.
- Die Primärschlüsselspalte in einer Tabelle kann keine Nullwerte haben und sollte immer eindeutige Werte haben. Aber der Fremdschlüssel in der Tabelle kann Nullwerte enthalten und kann auch doppelte Werte haben.
- Eine Tabelle kann nur einen Primärschlüssel haben, während es mehr als einen Fremdschlüssel für eine Tabelle geben kann.
- Der Index wird für den Primärschlüssel automatisch erstellt, während für den Fremdschlüssel keine Indizes automatisch erstellt werden.
- Es ist einfach, die Fremdschlüssel-Beschränkung zu löschen, obwohl sie sich auf den Primärschlüssel bezieht. Aber das Löschen der Primärschlüssel-Beschränkung kann Datensätze mit untergeordneten Datensätzen erzeugen, die keinen übergeordneten Datensatz haben.
Vergleichstabelle Primärschlüssel vs. Fremdschlüssel
Die folgende Tabelle fasst die Vergleiche zwischen Primärschlüssel und Fremdschlüssel zusammen:
Primärschlüssel | Fremder Schlüssel |
Der Primärschlüssel einer Tabelle in RDBMS kann eine einzelne Spalte sein oder aus mehreren Spalten bestehen, die verwendet wird, um jede Zeile in einer Tabelle eindeutig zu identifizieren. Im Fall des Primärschlüssels, der aus mehr als einer Spalte besteht, werden die Daten aus jeder Spalte verwendet, um über die Eindeutigkeit einer Zeile zu entscheiden. Eine Tabelle in RDMBS kann nur einen Primärschlüssel haben. | Der Fremdschlüssel kann eine einzelne Spalte sein oder aus mehr als einer Spalte in einer Tabelle bestehen, die verwendet wird, um auf den Primärschlüssel einer anderen Tabelle zu verweisen. Der Fremdschlüssel kann zur Verknüpfung der Tabellen in RDBMS verwendet werden. Im Gegensatz zum Primärschlüssel-Attribut kann eine Tabelle in RDBMS mehr als einen Fremdschlüssel haben. |
Es gibt einige Bedingungen, die erfüllt sein müssen, damit eine Spalte ein Primärschlüssel in einer Tabelle ist. Eine der Bedingungen ist, dass der Primärschlüssel einen eindeutigen Wert für jeden Datensatz enthalten sollte. Eine Tabelle in RDBMS darf also keine doppelten Werte für zwei Zeilen für das Attribut Primärschlüssel haben. | Im Gegensatz zum Primärschlüssel einer Tabelle in RDBMS kann der Fremdschlüssel doppelte Werte enthalten. Das erlaubt es, für das Fremdschlüsselattribut doppelte Werte für die Zeilen einer Tabelle zu haben. |
Die andere Bedingung, dass eine Spalte als Primärschlüssel ausreicht, ist, dass sie keine Nullwerte enthalten darf. | Der Fremdschlüssel einer Tabelle in RDBMS kann aber Nullwerte enthalten. |
Ein Primärschlüssel wird bei der Definition der Tabelle angegeben, und es ist obligatorisch, den Primärschlüssel zu definieren. | Im Gegensatz zum Primärschlüssel gibt es keine spezifische Tabellendefinition, um einen Schlüssel als Fremdschlüssel zu bezeichnen. |
Es ist nicht möglich, die Primärschlüssel-Beschränkung aus einer übergeordneten Tabelle zu löschen, wenn der Fremdschlüssel der untergeordneten Tabelle auf diese verweist. Also muss die Child-Tabelle zuerst gelöscht werden, bevor die Parent-Tabelle gelöscht werden kann. | Wenn wir aber die Fremdschlüssel-Beschränkung in einer Tabelle löschen müssen, kann sie aus der Child-Tabelle gelöscht werden, obwohl sie sich auf den Primärschlüssel der Parent-Tabelle bezieht. |
Der Primärschlüssel wird automatisch indiziert, d. h. der Primärschlüssel wird in einem Index für eine Tabelle gespeichert, und dieser Index hilft bei der Verwaltung der Anforderung der Einzigartigkeit, und deshalb werden die Fremdschlüsselwerte einfach auf die entsprechenden Primärschlüsselwerte verwiesen. | Im Fall eines Fremdschlüssels werden die Indizes nicht automatisch erstellt, sondern normalerweise vom Datenbankadministrator definiert. |
Fazit
Die Primär- und Fremdschlüssel implementieren nicht nur verschiedene Arten von Integrität, sondern erstellen auch Beziehungen zwischen Tabellen. Die Primär- und Fremdschlüssel stellen auch sicher, dass die Spalten der Beziehung übereinstimmende Werte enthalten müssen und eindeutige Datensätze in der Tabelle gepflegt werden. Das Relationale Datenbank-Managementsystem arbeitet aufgrund des Vorhandenseins des Primär- und des Fremdschlüssels effizient.
Die Primärschlüssel-Beschränkung hilft bei der automatischen Anwendung der Datenintegrität, da sie das Einfügen oder Aktualisieren einer doppelten Datenzeile verhindert. Die Verwendung der Schlüsselbeschränkungen verhindert, dass die Zeile aus der Primärschlüsseltabelle aus der übergeordneten Tabelle gelöscht wird, so dass keine solchen untergeordneten Datensätze erstellt werden, für die es keinen übergeordneten Datensatz gibt. Auch wenn eine Zeile in Bezug auf den Primärschlüssel in der übergeordneten Tabelle gelöscht oder aktualisiert wird, wird die referenzielle Integrität durch den Fremdschlüssel aufrechterhalten. Die Schlüssel spielen eine wichtige Rolle bei der Herstellung von Verbindungen zwischen den Datenbanktabellen und auch innerhalb der Tabelle.
Empfohlene Artikel
Dies ist ein Leitfaden zu Primärschlüssel vs. Fremdschlüssel. Hier diskutieren wir die Unterschiede zwischen Primärschlüssel und Fremdschlüssel mit Infografiken und einer Vergleichstabelle. Sie können auch unsere anderen empfohlenen Artikel durchgehen, um mehr zu erfahren –
- WebLogic vs. WebSphere
- ROLAP vs. MOLAP vs. HOLAP
- SQL-Schlüssel
- Travis vs. Jenkins