Vad är en utländsk nyckel?
Databaser består av tabeller där data eller information lagras. En utländsk nyckel är en mekanism i en relationsdatabas som gör det möjligt att koppla samman dessa tabeller, eller för att tabellerna ska ha en relation med varandra. Det finns unika egenskaper som en utländsk nyckel måste ha. Det måste vara en kolumn eller en grupp kolumner i en tabell vars värden skapar en relation med värden i en annan tabell i samma databas.
En utländsk nyckel garanterar att rader i en tabell motsvarar rader i någon annan tabell och därigenom upprätta databasövergripande relationer eller referenser. Tabellen som innehåller den främmande nyckeln är "barnet", och den andra tabellen är "föräldern". Det är möjligt för värdet av en utländsk nyckel att vara noll eller tom och för att den faktiskt kan hänvisa till eller relatera till det som kallas den primära nyckeln i tabellen där den finns. Detta kallas självreferenser.
Man måste ha en god förståelse för vad en primär nyckel är innan man försöker fullt ut förstå konceptet bakom utländska nycklar. Om det till exempel finns två tabeller i en databas som lagrar information om publicerade böcker för en webbplats som säljer böcker, kan en tabell vara utgivartabellen och den andra böktabellen. Förlagstabellen kan bestå av två kolumner, en primär nyckel som alltid är unik för varje post och en kolumn för förlagsnamn. Minst tre kolumner skulle utgöra böktabellen, innehålla den primära nyckeln eller den unika identifieraren för varje bok, böckernas titlar och en kolumn genom vilken ett förhållande skulle upprättas med utgivartabellen. Den kolumnen skulle vara den utländska nyckeln.
Den primära nyckeln för utgivartabellen kan vara något som "pub_id" med värden på: P01, P02, P03, etc. En relation skulle upprättas med böktabellen om den innehöll en pub_id-kolumn med samma värden. Detta skulle vara den utländska nyckeln som skulle relatera den här barntabellen till sin förälder - förlagstabellen.
En utländsk nyckel kan dock ha ett annat kolumnnamn än den överordnade nyckeln som den refererar till. En sund förståelse för hur primära och främmande nycklar fungerar är avgörande för att upprätthålla referensintegritet. Mycket stora databaser som består av många tabeller eller som involverar en kopplingstabell innehåller mer än en typ av relation, vilket kan komplicera uppgiften att arbeta med utländska nycklar.