Co to jest klucz obcy w relacyjnej bazie danych?
Prosty przykład
Prostym przykładem klucza obcego w bazie danych jest podstawowa tabela "Student" (Student) z Student_ID jako jej kluczem podstawowym. W powiązanej tabeli dodatkowej "Course_Enrollment" (Course_Matriculation) z Course_ID jako kluczem podstawowym, dla każdego kursu, w którym uczeń zapisał się, pojawia się klucz obcy Student_ID tabeli "Student".
Reguła integralności referencyjnej
Reguła więzów integralności stwierdza, że każda wartość klucza obcego innego niż zerowy w tabeli pomocniczej musi odnosić się do wartości klucza podstawowego w jej tabeli podstawowej w bazie danych. W przykładzie kroku 1 w bazie danych nie ma sensu zapisanie ucznia na kurs, gdy w tabeli "Uczeń" nie ma informacji o uczniu. Ta reguła wymusza spójność w bazie danych.
Eliminacje kaskadowe
Każdy rekord wtórny w relacji klucza obcego musi mieć odpowiadający mu rekord pierwotny zgodnie z regułą integralności referencyjnej. Usunięcie kaskady musi nastąpić po usunięciu rekordu w tabeli podstawowej, co powoduje również usunięcie wszystkich odpowiednich rekordów z bazy danych. W przykładzie z kroku 1 usunięcie ucznia z tabeli ucznia w bazie danych spowoduje również usunięcie wszystkich wystąpień rekordów rekrutacyjnych tego ucznia w tabeli Course_Enrollment.