Skip to main content

Hvad er en fremmed nøgle?

Databaser er sammensat af tabeller, hvor data eller information er gemt.En udenlandsk nøgle er en mekanisme i en relationel database, der giver mulighed for sammenhæng mellem disse tabeller eller for tabellerne at have et forhold til hinanden.Der er unikke egenskaber, som en fremmed nøgle skal have.Det skal være en kolonne eller en gruppe kolonner i en tabel, hvis værdier etablerer et forhold til værdier i en anden tabel inden for den samme database.

En fremmed nøgle garanterer, at rækker i en tabel svarer til rækker i en anden tabel og derved etablerer database-brede forhold eller referencer.Tabellen, der indeholder den udenlandske nøgle, er barnet, og den anden tabel er forælderen.Det er muligt for værdien af en fremmed nøgle at være nul eller tom, og for den faktisk refererer eller forholder sig til det, der er kendt som den primære nøgle for tabellen, hvor den findes.Dette er kendt som selvreference.

Man skal have en god forståelse af, hvad en primær nøgle er, før man forsøger at forstå konceptet bag udenlandske nøgler.For eksempel, hvis der er to tabeller i en database, der gemmer oplysninger om offentliggjorte bøger til et websted, der sælger bøger, er det ene tabel muligvis udgivere -tabellen og den anden bøger -tabellen.Udgivere -tabellen kunne bestå af to kolonner, en primær nøgle, der altid er unik for hver post og en udgivernavnskolonne.Mindst tre kolonner udgør bøger -tabellen og holder den primære nøgle eller unikke identifikator for hver bog, titlerne af bøger og en kolonne, som et forhold ville blive etableret med udgivere -tabellen.Denne kolonne ville være den udenlandske nøgle.

Den primære nøgle til udgivere -tabellen kan være noget som pub_id med værdier af: p01, p02, p03 osv. Der ville blive etableret et forhold med bøger -tabellen, hvis den indeholdt en pub_id -kolonne med de samme værdier.Dette ville være den udenlandske nøgle, der ville relatere dette børnebord tilbage til sin forælder mdash;Udgivere -tabellen.

En fremmed nøgle kan dog have et andet kolonneavn end den overordnede nøgle, som den refererer til.Lyd forståelse af arbejdet med primære og udenlandske nøgler er vigtige for at opretholde referencemæssig integritet.Meget store databaser, der er sammensat af mange tabeller, eller som involverer en forbindelsestabel, der er til stede mere end en type forhold, som kan komplicere opgaven med at arbejde med udenlandske nøgler.