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 damit 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, wodurch datenbankweite Beziehungen oder Referenzen aufgebaut werden. 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 so genannten Primärschlüssel der Tabelle bezieht, in der es gefunden wird. Dies ist als Selbstreferenzung bekannt.
Man muss ein gutes Verständnis dafür haben, was ein Primärschlüssel ist, bevor man versucht, das Konzept hinter ausländischen Schlüssel vollständig zu verstehen. Wenn beispielsweise zwei Tabellen in einer Datenbank Informationen zu veröffentlichten Büchern für eine Website aufbewahren, die Bücher verkauft, ist eine Tabelle möglicherweise die Tabelle Publishers und die andere in der Bücher -Tabelle. 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 würden die Büchertabelle ausmachen und den Primärschlüssel oder die eindeutige Kennung für jedes Buch, die Titel der Bücher und eine Spalte, über die eine Beziehung mit der Tabelle Publishers hergestellt werden, enthält. Diese Spalte wäre der fremde Schlüssel.
Der Hauptschlüssel für die Tabelle Publishers könnte so etwas wie "pub_id" 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 fremde Schlüssel, den Sie habenLD bezieht diese untergeordnete Tabelle auf ihre Eltern zurück - die Tabelle der Publishers.
Ein Fremdschlüssel kann jedoch einen anderen Spaltennamen haben als die übergeordnete Taste, auf die 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.