Hva er en relasjonsdatabase Foreign Key?

Hva er en relasjonsdatabase Foreign Key?


En fremmednøkkel i en relasjonsdatabase er en nøkkel som brukes i et barn bord som samsvarer med primærnøkkel i en relatert ordnede tabellen. Utenlandske nøkler kan ha like verdier (mangfoldighet) i barnet tabellen mens primærnøkler kan ikke. Ved hjelp av fremmednøkler riktig kan håndheve referanseintegritet.

Et enkelt eksempel

Et enkelt eksempel på en database fremmednøkkel er en "Student" database ordnede tabellen med Student_ID som sin primærnøkkel. I relaterte barnet tabellen "Course_Enrollment" med Course_ID som sin primærnøkkel, for hvert kurs der en student har registrert, fremmednøkkel, Student_ID fra Student tabellen, vises.

Referanseintegritet Rule

Den referanseintegritet regelen sier at enhver nonnull fremmednøkkel verdi i et barnebord må referere til en primærnøkkel verdien av sin overordnede tabellen i databasen. I eksempelet i trinn 1, ville det ikke logisk i databasen for å ha en student på et kurs hvor det ikke foreligger opplysninger om at studenten i Student tabellen. Denne regelen sikrer konsistens i en database.

Cascade Sletter

Hvert barn post i en fremmednøkkel forholdet må ha en samsvarende forelder rekord i henhold til referanseintegritet regelen. En kaskade slette må skje når en post fra en overordnet tabell er fjernet, noe som også fjerner alle tilsvarende poster fra barn database. I trinn 1 eksempel fjerning av en student fra Student databasen også vil fjerne alle forekomster av at studentens innmelding i Course_Enrollment tabellen.