Skip to main content

Was ist ein fremder Schlüssel?

Datenbanken bestehen aus Tabellen, in denen Daten oder Informationen gespeichert werden.Ein Fremdschlüssel ist ein Mechanismus in einer relationalen Datenbank, der die Assoziation dieser Tabellen ermöglicht oder dass die Tabellen eine Beziehung zueinander haben.Es gibt einzigartige Eigenschaften, die ein fremder Schlüssel haben muss.Es muss eine Spalte oder eine Gruppe von Spalten in einer Tabelle sein, deren Werte eine Beziehung zu Werten in einer anderen Tabelle in derselben Datenbank herstellen.

Eine Fremdschlüssel garantiert, dass Zeilen in einer Tabelle Zeilen in einer anderen Tabelle entsprechen und dadurch datenbankweite Beziehungen oder Referenzen aufbauen.Die Tabelle, die den Fremdschlüssel enthält, ist das Kind und die andere Tabelle ist der Elternteil.Es ist möglich, dass der Wert eines Fremdschlüssels null oder leer ist und sich tatsächlich darauf bezieht oder sich auf den als Primärschlüssel der Tabelle bezieht, in dem er gefunden wird.Dies ist als Selbstreferenzung bekannt.

Man muss ein gutes Verständnis dafür haben, was ein Hauptschlüssel ist, bevor man versucht, das Konzept hinter ausländischen Schlüssel vollständig zu verstehen.Wenn beispielsweise zwei Tabellen in einer Datenbank enthalten sind, die Informationen zu veröffentlichten Büchern für eine Website speichern, die Bücher verkauft, ist eine Tabelle möglicherweise die Tabelle Publishers und die andere die Büchertabelle.Die Tabelle Publishers könnte aus zwei Spalten bestehen, einem Primärschlüssel, der für jeden Datensatz und eine Spalte des Publisher -Namens immer eindeutig ist.Mindestens drei Spalten bestehen aus der Büchertabelle und hält den Hauptschlüssel oder den eindeutigen Kennung für jedes Buch, die Titel der Bücher und eine Spalte, über die eine Beziehung mit der Tabelle Publishers hergestellt werden würde.Diese Spalte wäre der fremde Schlüssel.

Der Hauptschlüssel für die Tabelle Publishers könnte mit Werten von: p01, p02, p03 usw. sein. Eine Beziehung würde mit der Büchertabelle hergestellt, wenn sie eine PUB_ID -Spalte mit denselben Werten enthielt.Dies wäre der Fremdschlüssel, der diese Kindertabelle auf seine Eltern und Mdash zurückzuführen wäre.Die Tabelle der Verlag.

Ein Fremdschlüssel kann jedoch einen anderen Spaltennamen haben als der übergeordnete Schlüssel, auf den er verweist.Ein solides Verständnis der Funktionsweise von Primär- und Fremdschlüssel ist für die Aufrechterhaltung der referenziellen Integrität von wesentlicher Bedeutung.Sehr große Datenbanken, die aus vielen Tabellen bestehen oder eine Junction -Tabelle beinhalten, die mehr als eine Art von Beziehung enthalten, die die Aufgabe der Arbeit mit Fremdschlüssel komplizieren kann.