Ce este o cheie străină într-o bază de date relațională?

Cheile externe dintr-un tabel dintr-o bază de date relațională găsesc informații într-un tabel asociat.

Un exemplu simplu

Un exemplu simplu de cheie străină într-o bază de date este o masă primară "Student" (Student) cu Student_ID ca cheie primară. În tabelul secundar asociat "Course_Enrollment" (Course_Matriculation) cu Course_ID ca cheie primară, pentru fiecare curs în care un student a fost înscris, apare cheia străină Student_ID a tabelului "Student".

Regula de integritate referențială

Regula de integritate referențială prevede că orice valoare cheie non-nulă într-o tabelă secundară trebuie să se refere la o valoare a cheii primare în tabela primară din baza de date. În exemplul din Pasul 1 nu ar avea sens în baza de date să aibă un student înscris într-un curs atunci când nu există informații despre student în tabelul "Student". Această regulă impune consecvența într-o bază de date.

Eliminări în cascadă

Fiecare înregistrare secundară într-o relație de cheie străină trebuie să aibă o înregistrare primară corespunzătoare conform regulii de integritate referențială. O ștergere în cascadă trebuie să apară ori de câte ori o înregistrare într-un tabel primar este șters, ceea ce elimină, de asemenea, toate înregistrările corespunzătoare din baza de date. În exemplul de la Pasul 1, eliminarea unui student din tabelul Student din baza de date va elimina, de asemenea, toate înregistrările înregistrate ale elevului în tabelul Course_Enrollment.