? Ein Fremdschlüssel in einer relationalen Datenbank ist ein Schlüssel in einer untergeordneten Tabelle , die den Primärschlüssel passt in einem verwandten übergeordneten Tabelle verwendet . Fremdschlüssel kann doppelte Werte (Multiplizität ) in der untergeordneten Tabelle während primäre Schlüssel nicht haben können. Mit Fremdschlüssel korrekt referenzielle Integrität erzwingen . Ein einfaches Beispiel
Ein einfaches Beispiel für eine Datenbank Fremdschlüssel ist ein " Student" Datenbank übergeordnete Tabelle mit STUDENT_ID als Primärschlüssel. In den entsprechenden untergeordneten Tabelle " Course_Enrollment " mit Course_ID als seine primäre Schlüssel für jeden Kurs, in dem ein Student eingeschrieben hat , erscheint der Fremdschlüssel aus der Tabelle Student STUDENT_ID , .
Referentielle Integrität Regel
die referenzielle Integrität Regel besagt, dass jeder NULL Fremdschlüsselwert in einer untergeordneten Tabelle muss mit einem Wert des Primärschlüssels der übergeordneten Tabelle in der Datenbank verweisen. In dem Beispiel in Schritt 1 , würde es keinen Sinn machen, in der Datenbank zu haben, ein Schüler in einem Kurs eingeschrieben , wo es keine Informationen über diesen Schüler in der Tabelle Student . Diese Regel erzwingt Konsistenz in einer Datenbank.
Cascade Löscht
Jedes Kind Datensatz in einer Fremdschlüssel-Beziehung muss eine passende übergeordneten Datensatz haben nach der referenziellen Integrität herrschen. Eine Kaskade löschen müssen auftreten , wenn ein Datensatz aus einer übergeordneten Tabelle entfernt wird, die auch entfernt alle entsprechenden Datensätze aus der Datenbank Kind . Im Schritt 1 beispielsweise das Entfernen eines Studenten aus dem Schüler -Datenbank wird auch alle Vorkommnisse , die Anmeldung des Schülers in der Course_Enrollment Tabelle zu entfernen.