Skip to main content

Wat is een buitenlandse sleutel?

Databases zijn samengesteld uit tabellen waarin gegevens of informatie worden opgeslagen.Een buitenlandse sleutel is een mechanisme in een relationele database die de associatie van die tabellen mogelijk maakt, of dat de tabellen een relatie met elkaar hebben.Er zijn unieke kenmerken die een vreemde sleutel moet hebben.Het moet een kolom of een groep kolommen zijn in een tabel waarvan de waarden een relatie tot stand brengen met waarden in een andere tabel binnen dezelfde database.

Een buitenlandse sleutel garandeert dat rijen in één tabel overeenkomen met rijen in een andere tabel, waardoor databasebrede relaties of referenties worden vastgesteld.De tabel met de buitenlandse sleutel is het kind en de andere tabel is de ouder.Het is mogelijk dat de waarde van een vreemde sleutel nul of leeg is en dat deze daadwerkelijk verwijst of betrekking heeft op wat bekend staat als de primaire sleutel van de tabel waarin deze wordt gevonden.Dit staat bekend als zelfverwijzing.

Men moet een goed begrip hebben van wat een primaire sleutel is voordat u probeert het concept achter buitenlandse sleutels volledig te begrijpen.Als er bijvoorbeeld twee tabellen zijn in een database die informatie opslaat over gepubliceerde boeken voor een website die boeken verkoopt, is de ene tabel misschien de tabel voor uitgevers en de andere de boekentabel.De uitgeverstabel kan bestaan uit twee kolommen, een primaire sleutel die altijd uniek is voor elke record en een kolom voor de naam van de uitgever.Een minimum van drie kolommen zouden de boekentabel vormen, met de primaire sleutel of unieke identificatie voor elk boek, de titels van boeken en een kolom waarmee een relatie zou worden gevestigd met de uitgeverstabel.Die kolom zou de buitenlandse sleutel zijn.

De primaire sleutel voor de uitgeverstabel kan zoiets zijn als PUB_ID met waarden van: P01, P02, P03, enz. Een relatie zou worden vastgesteld met de boekentabel als deze een pub_id -kolom met dezelfde waarden bevatte.Dit zou de buitenlandse sleutel zijn die deze onderliggende tabel zou relateren aan zijn ouder mdash;de uitgeverstabel.

Een vreemde sleutel kan echter een andere kolomnaam hebben dan de bovenliggende sleutel die deze verwijst.Geluid inzicht in de werking van primaire en buitenlandse toetsen is essentieel voor het handhaven van de referentiële integriteit.Zeer grote databases die uit veel tabellen zijn samengesteld of die een junctietabel met zich meebrengen, presenteert meer dan één type relatie, die de taak van het werken met buitenlandse toetsen kan bemoeilijken.