? En främmande nyckel i en relationsdatabas är en nyckel som används i ett barns tabell som matchar den primära nyckeln i en relaterad överordnade tabellen . Främmande nycklar kan ha dubbla värden ( mångfald ) i den underordnade tabellen medan primärnycklar inte kan. Använda främmande nycklar korrekt kan referensintegritet . Ett enkelt exempel
Ett enkelt exempel på en databas främmande nyckel är ett " Student " databas överordnade tabellen med Student_ID som dess primärnyckel . I släkt underordnade tabellen " Course_Enrollment " med Course_ID som sitt primära nyckel , för varje kurs där en elev har anmält visas främmande nyckel , Student_ID från Student tabellen .
Referensintegritet Rule
referensintegritet regeln anger att någon nonnull främmande nyckel värde i ett barn bord måste referera till en primärnyckel värdet av dess överordnade tabellen i databasen . I exemplet i steg 1 , skulle det vara meningslöst i databasen för att ha en elev inskriven i en kurs där det inte finns någon information om att eleven i Student tabellen . Denna regel upprätthåller konsekvent i en databas .
Cascade Raderar
Varje barn rekord i en främmande nyckel relationen måste ha en matchande överordnad post enligt referensintegritet härska . En kaskad delete måste ske när en post från en förälder bord tas bort , vilket också tar bort alla motsvarande poster från barnet databasen . I Steg 1 exempel ta bort en elev från Student databasen kommer också att ta bort alla förekomster av elevens inskrivning i Course_Enrollment tabellen .