Skip to main content

Kraften av utländska nycklar i relationsdatabaser

KRAFTEN AV EN CONDUIT | Minecraft Let's Play S4E33 (Juni 2026)

KRAFTEN AV EN CONDUIT | Minecraft Let's Play S4E33 (Juni 2026)
Anonim

Databasdesigners använder stor nyckling av nycklar när de utvecklar relationsdatabaser. Bland de vanligaste av dessa nycklar är primära nycklar och främmande nycklar. En utländsk databas är en fält i ett relationsdatabas som matchar den primära nyckelspalten i en annan tabell. För att förstå hur en utländsk nyckel fungerar, låt oss titta närmare på tanken på en relationsdatabas.

Några grunder i relationsdatabaser

I en relationsdatabas lagras data i tabeller som innehåller rader och kolumner, vilket gör det lätt att söka och manipulera. Det finns en viss allvarlig matematik bakom konceptet för en relationsdatabas (relationsalgebra, föreslagen av E.F.

Codd på IBM 1970), men det är inte ämnet för denna artikel.

För praktiska ändamål (och icke-matematiker) lagrar en relationsdatabas relaterad data i rader och kolumner. Vidare - och här blir det intressant - de flesta databaser är utformade så att data i ett bord kan komma åt data i en annan tabell. Denna förmåga att skapa relationer mellan tabeller är den verkliga kraften i en relationsdatabas.

Använda utländska nycklar

De flesta tabeller, särskilt de i stora, komplexa databaser, har primära nycklar. Tabeller som är utformade för att komma åt andra tabeller måste också ha en utländsk nyckel.

För att använda den vanligtvis cited Northwinds databasen, här är ett utdrag ur en produkttabell:

Northwind-databasens produkttabellutdrag
SerienummerProduktnamnKategorinrQuantityPerUEnhetspris
1Chai110 lådor x 20 väskor18.00
2chang124 - 12 oz flaskor19.00
3Anis sirap212 - 550 ml flaskor10.00
4Kock Antons Cajun krydda248 - 6 oz burkar22.00
5Kock Antons Gumbo Mix236 lådor21.35
6Mormors Boysenberry Spread212 - 8 oz burkar25.00
7Uncle Bobs organiska torkade päron712 - 1 pund pkgs.30.00

De Serienummer kolumnen är denna tabellens primära nyckel. Det tilldelar ett unikt ID till varje produkt.

Denna tabell innehåller också en utländsk nyckelkolumn, Kategorinr. Varje produkt i produkttabellen länkar till en post i kategoristabellen som definierar produktens kategori.

Notera detta utdrag ur databasens kategoritabell:

Northwind Databas Kategorier Tabell Utdrag
KategorinrKategori namnBeskrivning
1DryckerLäsk, kaffe, te, öl och öl
2kryddorSöta och salta såser, relishes, spreads och kryddor
3konfektDesserter, godis och sweetbreads
5Mejeriprodukterostar

Kolumnen Kategorinr är denna kolumnens primära nyckel. (Det har ingen utländsk nyckel eftersom det inte behöver komma åt en annan tabell.) Varje utländsk nyckel i produkttabellen länkar till en primär nyckel i kategoritabellen. Till exempel är produkten Chai tilldelad en kategori "Dryck", medan anis sirap ligger i kategorin smaktillsatser.

Denna typ av länkning skapar en mängd olika sätt att använda och återanvända data i en relationsdatabas.