Co je to cizí klíč v relační databázi?

Cizí klíče v tabulce v relační databázi vyhledávají informace v související tabulce.

Jednoduchý příklad

Jednoduchým příkladem cizího klíče v databázi je primární tabulka "Student" (Student) s Student_ID jako primárním klíčem. V související sekundární tabulce "Course_Enrollment" (Course_Matriculation) s identifikací Course_ID jako primárním klíčem se pro každý kurz, v němž student zapsal, objeví cizí klíč Student_ID tabulky "Student".

Pravidlo referenční integrity

Pravidlo referenční integrity uvádí, že každá hodnota cizího klíče, která není null v sekundární tabulce, musí odkazovat na hodnotu primárního klíče ve své primární tabulce v databázi. V příkladu kroku 1 by neměl smysl mít v databázi, aby byl student zapsán do kurzu, když nejsou žádné informace o studentovi v tabulce "Student". Toto pravidlo vynucuje konzistenci v databázi.

Kaskádové eliminace

Každý sekundární záznam ve vztahu k cizím klíčům musí mít odpovídající primární záznam podle pravidla referenční integrity. K odstranění kaskády musí dojít při každém odstranění záznamu v primární tabulce, která také odstraní všechny odpovídající záznamy z databáze. V příkladu v kroku 1 odebrání studenta z tabulky Student v databázi také odstraní všechny výskyty studentských záznamů o zápisu do tabulky Course_Enrollment.