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:
| Serienummer | Produktnamn | Kategorinr | QuantityPerU | Enhetspris |
|---|---|---|---|---|
| 1 | Chai | 1 | 10 lådor x 20 väskor | 18.00 |
| 2 | chang | 1 | 24 - 12 oz flaskor | 19.00 |
| 3 | Anis sirap | 2 | 12 - 550 ml flaskor | 10.00 |
| 4 | Kock Antons Cajun krydda | 2 | 48 - 6 oz burkar | 22.00 |
| 5 | Kock Antons Gumbo Mix | 2 | 36 lådor | 21.35 |
| 6 | Mormors Boysenberry Spread | 2 | 12 - 8 oz burkar | 25.00 |
| 7 | Uncle Bobs organiska torkade päron | 7 | 12 - 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:
| Kategorinr | Kategori namn | Beskrivning |
|---|---|---|
| 1 | Drycker | Läsk, kaffe, te, öl och öl |
| 2 | kryddor | Söta och salta såser, relishes, spreads och kryddor |
| 3 | konfekt | Desserter, godis och sweetbreads |
| 5 | Mejeriprodukter | ostar |
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.




