Unterschied zwischen Primärschlüssel und Fremdschlüssel

Schlüssel sind grundlegende Elemente der relationalen Datenbank, da sie eine Beziehung zwischen einem Tabellenpaar herstellen und sicherstellen, dass jeder Datensatz in einer Tabelle eindeutig identifiziert wird. Schlüssel haben eine besondere Bedeutung als das Herstellen von Beziehungen. Sie helfen auch bei der referentiellen Integrität und sind ein wesentlicher Bestandteil der Integrität auf Tabellenebene. In Tabellen werden riesige Datenblöcke gespeichert, die sich in der Regel auf Tausende von Datensätzen erstrecken, die alle unsortiert und nicht organisiert sind. Das Abrufen bestimmter Daten aus diesen zahlreichen Datensätzen kann manchmal schwierig oder manchmal unmöglich sein. Hier kommen Schlüssel zum Bild. Hier werden wir uns mit den zwei sehr wichtigen Schlüsseln des relationalen Datenbankschemas und dem Unterschied zwischen ihnen beschäftigen: Primärschlüssel und Fremdschlüssel.

Was ist ein Primärschlüssel??

Ein Primärschlüssel ist ein Spezialschlüssel, der jeden Datensatz in einer Tabelle eindeutig identifiziert. In der relationalen Datenbank ist es sehr wichtig, dass in jeder Zeile einer Tabelle ein eindeutiger Bezeichner vorhanden ist. Der Primärschlüssel ist genau das, was Sie benötigen, um ein Tupel innerhalb einer Tabelle eindeutig zu identifizieren. Ein Tupel repräsentiert eine Gruppe von Wertattributen in einer relationalen Datenbank. Ein Primärschlüssel kann sich auf eine Spalte oder einen Satz von Spalten in einer relationalen Datenbanktabelle beziehen, mit der alle Datensätze in der Tabelle implizit identifiziert werden. Der Primärschlüssel muss für jeden Datensatz eindeutig sein, da er als eindeutiger Bezeichner fungiert und er darf keine Nullwerte enthalten. Jede Datenbank muss einen und nur einen Primärschlüssel haben.

Was ist ein Fremdschlüssel??

Ein Fremdschlüssel bezieht sich auf ein Feld oder eine Sammlung von Feldern in einem Datenbanksatz, die ein Schlüsselfeld eines anderen Datenbanksatzes in einer anderen Tabelle eindeutig identifizieren. Einfach ausgedrückt, wird eine Verbindung zwischen Datensätzen in zwei verschiedenen Tabellen in einer Datenbank hergestellt. Es kann sich um eine Spalte in einer Tabelle handeln, die auf die Primärschlüsselspalten zeigt, dh ein in einer Tabelle definierter Fremdschlüssel bezieht sich auf den Primärschlüssel einer anderen Tabelle. Referenzen sind in relationalen Datenbanken von entscheidender Bedeutung, um Verknüpfungen zwischen Datensätzen herzustellen. Fremdschlüssel spielen eine wichtige Rolle bei der relationalen Datenbanknormalisierung, insbesondere wenn Tabellen auf andere Tabellen zugreifen müssen.

Unterschied zwischen Primärschlüssel und Fremdschlüssel

Grundlagen des Primärschlüssels vs. Fremdschlüssel

Ein Primärschlüssel ist ein spezieller Schlüssel in einer relationalen Datenbank, der als eindeutiger Bezeichner für jeden Datensatz fungiert, dh er identifiziert jede Zeile / jeden Datensatz in einer Tabelle eindeutig und sein Wert sollte für jede Zeile der Tabelle eindeutig sein. Ein Fremdschlüssel hingegen ist ein Feld in einer Tabelle, das zwei Tabellen miteinander verbindet. Es bezieht sich auf eine Spalte oder eine Gruppe von Spalten, die eine Zeile einer anderen Tabelle oder derselben Tabelle eindeutig identifiziert.

Verhältnis des Primärschlüssels zum Fremdschlüssel

Ein Primärschlüssel identifiziert eindeutig einen Datensatz in der relationalen Datenbanktabelle, während ein Fremdschlüssel auf das Feld in einer Tabelle verweist, bei dem es sich um den Primärschlüssel einer anderen Tabelle handelt. Ein Primärschlüssel muss eindeutig sein, und in einer Tabelle muss nur ein Primärschlüssel definiert werden, während in einer Tabelle mehr als ein Fremdschlüssel zulässig ist.

Doppelte Werte des Primärschlüssels im Vergleich zum Fremdschlüssel

Ein Primärschlüssel ist eine Kombination aus UNIQUE- und Nicht-Null-Einschränkungen, sodass in einem Primärschlüsselfeld in einer relationalen Datenbanktabelle keine doppelten Werte zulässig sein dürfen. Keine zwei Zeilen dürfen doppelte Werte für ein Primärschlüsselattribut enthalten. Im Gegensatz zu einem Primärschlüssel kann ein Fremdschlüssel doppelte Werte enthalten, und eine Tabelle in einer relationalen Datenbank kann mehr als einen Fremdschlüssel enthalten.

NULL des Primärschlüssels gegen Fremdschlüssel

Einer der Hauptunterschiede zwischen den beiden ist, dass Fremdschlüssel im Gegensatz zu Primärschlüsseln auch NULL-Werte enthalten können. Eine Tabelle in einer relationalen Datenbank kann nur einen Primärschlüssel haben, der keine NULL-Werte zulässt.

Temporäre Tabelle des Primärschlüssels vs. Fremdschlüssel

Eine Primärschlüsseleinschränkung kann implizit für temporäre Tabellen und ihre Variablen definiert werden, während eine Fremdschlüsseleinschränkung für lokale oder globale temporäre Tabellen nicht erzwungen werden kann.

Löschen des Primärschlüssels gegen Fremdschlüssel

Ein Primärschlüsselwert kann nicht aus der übergeordneten Tabelle gelöscht werden, die in der untergeordneten Tabelle als Fremdschlüssel bezeichnet wird. Sie müssen zuerst die untergeordnete Tabelle löschen, bevor Sie die übergeordnete Tabelle entfernen. Im Gegensatz dazu kann ein Fremdschlüsselwert aus der untergeordneten Tabelle gelöscht werden, selbst wenn der Wert auf den Primärschlüssel der übergeordneten Tabelle verweist.

Primärschlüssel vs. Fremdschlüssel: Vergleichstabelle

Zusammenfassung der Primärschlüssel gegen Fremdschlüssel

Schlüssel spielen beim Bestehen eines Datenbankschemas eine wichtige Rolle, um Verknüpfungen zwischen Tabellen und innerhalb einer Tabelle herzustellen. Schlüssel stellen Beziehungen her und erzwingen unterschiedliche Arten von Integrität, insbesondere die Integrität auf Tabellen- und Beziehungsebene. Zum einen stellen sie sicher, dass die Tabelle eindeutige Datensätze enthält, und die Felder, die Sie zum Herstellen einer Beziehung zwischen Tabellen verwenden, müssen übereinstimmende Werte enthalten. Primärschlüssel und Fremdschlüssel sind die zwei wichtigsten und häufigsten Schlüsseltypen, die in relationalen Datenbanken verwendet werden. Ein Primärschlüssel ist ein spezieller Schlüssel, mit dem Datensätze in einer Tabelle eindeutig identifiziert werden können, während ein Fremdschlüssel verwendet wird, um eine Beziehung zwischen zwei Tabellen herzustellen. Beide sind in der Struktur identisch, spielen jedoch im relationalen Datenbankschema unterschiedliche Rollen.