Unterschied zwischen Primärschlüssel und Fremdschlüssel

In einem relationalen Datenbankverwaltungssystem (RDBMS) werden die Daten in Tabellen gespeichert. Da eine große Datenmenge in den Tabellen gespeichert wird, besteht immer die Möglichkeit, dass die Daten unorganisiert werden oder Duplikate enthalten. Auch wenn wir die Daten entsprechend unserer Anforderung aus diesen riesigen Daten abrufen müssen, wird die Aufgabe schwierig. Das Schlüsselkonzept wird im RDBMS verwendet, um Datensätze in der Tabelle aus Tausenden von Datenzeilen zu identifizieren. Die Verwendung von Key hilft auch beim Herstellen der Beziehung zwischen den Tabellen, so dass die Daten aus verschiedenen Tabellen referenziert werden können. Der Schlüssel im relationalen Datenbankverwaltungssystem gewährleistet also sowohl die Integrität auf Tabellenebene als auch die referenzielle Integrität. In diesem Artikel werden wir den Unterschied zwischen dem Primärschlüssel und dem Fremdschlüssel im Detail untersuchen.

Der Primärschlüssel in einer Tabelle identifiziert Datensätze eindeutig und der Fremdschlüssel verweist auf den Primärschlüssel einer anderen Tabelle. Nehmen wir das Beispiel zweier Tabellen: Mitarbeiter- und Gehaltstabellen, um die Konzepte des Primär- und Fremdschlüssels zu verstehen. Wenn die Employee-Tabelle den Primärschlüssel Employee_ID hat, muss in der Salary-Tabelle eine Spalte Employee_ID vorhanden sein, da eine Beziehung zwischen diesen beiden Tabellen bestehen muss, indem in der Salary-Tabelle ein Fremdschlüssel vorhanden ist, der auf den Primärschlüssel von verweisen kann die Mitarbeitertabelle.

Head to Head Vergleich zwischen Primary Key und Foreign Key (Infographics)

Nachfolgend sind die sechs wichtigsten Unterschiede zwischen Primärschlüssel und Fremdschlüssel aufgeführt:

Hauptunterschiede zwischen Primärschlüssel und Fremdschlüssel

Lassen Sie uns einige der wichtigsten Unterschiede zwischen Primärschlüssel und Fremdschlüssel diskutieren:

  • Der Primärschlüssel identifiziert die Datensätze in einer Tabelle eindeutig, während der Fremdschlüssel zum Verknüpfen der Tabellen verwendet wird, dh er verweist auf den Primärschlüssel einer anderen Tabelle.
  • Die Primärschlüsselspalte in einer Tabelle darf keine Nullwerte enthalten und sollte immer eindeutige Werte enthalten. Der Fremdschlüssel in der Tabelle kann jedoch Nullwerte und auch doppelte Werte enthalten.
  • Eine Tabelle kann nur einen Primärschlüssel haben, während es für eine Tabelle mehr als einen Fremdschlüssel geben kann.
  • Der Index wird automatisch für den Primärschlüssel erstellt, während für den Fremdschlüssel keine Indizes automatisch erstellt werden.
  • Es ist einfach, die Fremdschlüsseleinschränkung zu löschen, obwohl sie sich auf den Primärschlüssel bezieht. Durch das Löschen der Primärschlüsseleinschränkung werden jedoch möglicherweise Datensätze mit untergeordneten Datensätzen erstellt, die keinen übergeordneten Datensatz haben.

Vergleichstabelle von Primärschlüssel und Fremdschlüssel

In der folgenden Tabelle sind die Vergleiche zwischen Primärschlüssel und Fremdschlüssel zusammengefasst:

PrimärschlüsselUnbekannter Schlüssel
Der Primärschlüssel einer Tabelle in RDBMS kann eine einzelne Spalte sein oder aus mehr als einer Spalte bestehen, mit der jede Zeile in einer Tabelle eindeutig identifiziert wird. Besteht der Primärschlüssel aus mehr als einer Spalte, werden die Daten aus jeder Spalte verwendet, um die Eindeutigkeit einer Zeile zu bestimmen. 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 zum Verknüpfen der Tabellen in RDBMS verwendet werden. Im Gegensatz zum Primärschlüsselattribut kann eine Tabelle in RDBMS mehr als einen Fremdschlüssel haben.
Es gibt nur wenige 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 für jeden Datensatz einen eindeutigen Wert enthält. Daher darf eine Tabelle in RDBMS keine doppelten Werte für zwei Zeilen für das Primärschlüsselattribut enthalten.Im Gegensatz zum Primärschlüssel einer Tabelle in RDBMS kann der Fremdschlüssel doppelte Werte enthalten. Dies ermöglicht doppelte Werte für die Zeilen einer Tabelle für das Fremdschlüsselattribut.
Die andere Bedingung für eine Spalte, die als Primärschlüssel gilt, ist, dass sie keine Nullwerte enthalten darf.Der Fremdschlüssel einer Tabelle in RDBMS kann jedoch Nullwerte enthalten.
Bei der Definition der Tabelle wird ein Primärschlüssel angegeben, und die Definition des Primärschlüssels ist obligatorisch.Im Gegensatz zum Primärschlüssel gibt es keine spezielle Tabellendefinition, um einen Schlüssel als Fremdschlüssel zu kennzeichnen.
Es ist nicht möglich, die Primärschlüsseleinschränkung aus einer übergeordneten Tabelle zu löschen, auf die der Fremdschlüssel der untergeordneten Tabelle verweist. Daher muss die untergeordnete Tabelle zuerst gelöscht werden, bevor die übergeordnete Tabelle gelöscht wird.Wenn wir jedoch die Fremdschlüsseleinschränkung in einer Tabelle löschen müssen, kann sie aus der untergeordneten Tabelle gelöscht werden, obwohl sie sich auf den Primärschlüssel der übergeordneten Tabelle bezieht.

Der Primärschlüssel wird automatisch indiziert, dh der Primärschlüssel wird in einem Index für eine Tabelle gespeichert, und dieser Index hilft bei der Verwaltung der Anforderung der Eindeutigkeit. Aus diesem Grund werden die Fremdschlüsselwerte leicht auf die entsprechenden Primärschlüsselwerte bezogen.Im Fall eines Fremdschlüssels werden die Indizes nicht automatisch erstellt und normalerweise vom Datenbankadministrator definiert.

Fazit

Der Primär- und der Fremdschlüssel implementieren nicht nur unterschiedliche Integritätstypen, sondern stellen auch Beziehungen zwischen Tabellen her. Der Primär- und der Fremdschlüssel stellen außerdem sicher, dass die für die Beziehung erstellten Spalten übereinstimmende Werte enthalten müssen und eindeutige Datensätze in der Tabelle verwaltet werden. Das Verwaltungssystem für relationale Datenbanken arbeitet effizient, da der Primär- und der Fremdschlüssel vorhanden sind.

Die Einschränkung "Primärschlüssel" hilft beim automatischen Anwenden der Datenintegrität, da verhindert wird, dass doppelte Datenzeilen eingefügt oder aktualisiert werden. Durch die Verwendung der Schlüsseleinschränkungen wird auch verhindert, dass die Zeile aus der Primärschlüsseltabelle aus der übergeordneten Tabelle gelöscht wird, sodass 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 beim Herstellen von Verknüpfungen zwischen den Datenbanktabellen und auch innerhalb der Tabelle.

Empfohlene Artikel

Dies ist eine Anleitung zu Primärschlüssel und Fremdschlüssel. Hier diskutieren wir die Unterschiede zwischen Primärschlüssel und Fremdschlüssel mit Infografiken und Vergleichstabelle. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -

  1. WebLogic vs WebSphere
  2. ROLAP gegen MOLAP gegen HOLAP
  3. GoCD gegen Jenkins
  4. Schulden vs Eigenkapital Finanzierung