Skip to main content

Kraften til utenlandske nøkler i relasjonsdatabaser

Thorium. (April 2025)

Thorium. (April 2025)
Anonim

Databasedesignere gjør bred bruk av nøkler når de utvikler relasjonsdatabaser. Blant de vanligste av disse nøklene er primære nøkler og utenlandske nøkler. En database utenlandsnøkkel er et felt i et relasjonstabell som samsvarer med primærnøkkelkolonnen i en annen tabell. For å forstå hvordan en utenlandsk nøkkel fungerer, la oss ta en nærmere titt på ideen om en relasjonsdatabase.

Noen grunnleggende om relasjonsdatabaser

I en relasjonsdatabase lagres data i tabeller som inneholder rader og kolonner, noe som gjør det enkelt å søke og manipulere. Det er noe seriøst matematikk bak begrepet relasjonsdatabase (relasjonsalgebra, foreslått av E.F.

Codd på IBM i 1970), men det er ikke temaet i denne artikkelen.

For praktiske formål (og ikke-matematikere) lagrer en relasjonsdatabase relatert data i rader og kolonner. Videre - og her blir det interessant - de fleste databaser er utformet slik at dataene i ett bord kan få tilgang til dataene i et annet bord. Denne muligheten til å opprette relasjoner mellom tabeller er den virkelige kraften til en relasjonsdatabase.

Bruke utenlandske nøkler

De fleste tabeller, spesielt de i store, komplekse databaser, har primære nøkler. Tabeller som er laget for å få tilgang til andre tabeller, må også ha en utenlandsk nøkkel.

For å bruke den vanlige citerte Northwinds-databasen, her er et utdrag fra en produkttabell:

The Northwind Database's Product Table Utdrag
Produkt IDProduktnavnCategoryIDQuantityPerUEnhetspris
1Chai110 bokser x 20 poser18.00
2Chang124 - 12 oz flasker19.00
3Anis sirup212 - 550 ml flasker10.00
4Kokk Antons Cajun krydder248 - 6 oz krukker22.00
5Kokk Antons Gumbo Mix236 bokser21.35
6Bestemors Boysenberry Spread212 - 8 oz krukker25.00
7Onkel Bobs organiske tørkede pærer712 - 1 pund pkgs.30.00

De Produkt ID kolonnen er denne tabellens primære nøkkel. Den tildeler en unik ID til hvert produkt.

Denne tabellen inneholder også en fremmednøkkelkolonne, CategoryID. Hvert produkt i produkttabellen kobler til en oppføring i kategoristabellen som definerer produktets kategori.

Merk dette utsnittet fra databasens kategoristabell:

Northwind Database er kategorier tabell utdrag
CategoryIDKategori navnBeskrivelse
1drikkevarerBrus, kaffe, te, øl og øl
2sauserSøte og smakfulle sauser, relishes, spreads og krydder
3confectionsDesserter, godteri og sweetbreads
5Meieriprodukteroster

Kolonnen CategoryID er denne kolonnens primære nøkkel. (Det har ingen utenlandsk nøkkel fordi det ikke har behov for å få tilgang til et annet bord.) Hver utenlandsk nøkkel i produkttabellen kobler til en primærnøkkel i kategoristabellen. For eksempel er produktet Chai tildelt en kategori "Drikkevarer", mens Aniseed Syrup er i kategorien Smaksprøver.

Denne typen kobling skaper et myriade av måter å bruke og gjenbruke data i en relasjonsdatabase.