Moč tujih ključev v relacijskih bazah podatkov

Tuji ključ odpira vrata celemu svetu podatkov

Oblikovalci baz podatkov široko uporabljajo ključe pri razvoju relacijskih podatkovnih baz. Med najpogostejšimi od teh ključev so primarni ključi in tuji ključi. Tuji ključ baze podatkov je polje v relacijski tabeli, ki se ujema s stolpcem primarnega ključa druge tabele. Da bi razumeli, kako deluje tuji ključ, si podrobneje ogledamo idejo relacijske baze podatkov.

Nekatere osnove relacijskih podatkovnih baz

V relacijski podatkovni bazi so podatki shranjeni v tabelah, ki vsebujejo vrstice in stolpce, kar olajša iskanje in manipulacijo. Za koncept relacijske podatkovne baze (relacijska algebra, ki jo predlaga EF

Codd na IBM leta 1970), vendar to ni tema tega članka.

Za praktične namene (in ne-matematike) relacijska baza podatkov shrani »povezane« podatke v vrsticah in stolpcih. Nadalje - in tukaj je zanimivo - večina podatkovnih baz je oblikovana tako, da lahko podatki v eni mizi dostopajo do podatkov v drugi tabeli. Ta sposobnost ustvarjanja odnosov med tabelami je resnična moč relacijske baze podatkov.

Uporaba tujih tipk

Večina tabel, zlasti tistih v velikih, zapletenih bazah podatkov, imajo primarne ključe. Mize, ki so zasnovane za dostop do drugih tabel, morajo imeti tudi tuji ključ.

Če želite uporabljati splošno citirano bazo podatkov Northwinds, tukaj je izvleček iz tabele izdelkov:

Izvedba tabele izdelkov Northwind Database
ProductID Ime izdelka KategorijaID QuantityPerU Cena na enoto
1 Chai 1 10 škatel x 20 vrečk 18.00
2 Chang 1 24 - 12 oz steklenice 19.00
3 Jajčni sirup 2 12 - 550 ml steklenice 10.00
4 Chef Anton's Cajun Začimbe 2 48 - 6 oz. Kozarci 22.00
5 Chef Anton's Gumbo Mix 2 36 škatel 21.35
6 Grandma's Boysenberry Spread 2 12 - 8 oz. Kozarci 25.00
7 Organsko suhih hrušk strica Boba 7 12 - 1 lb pkgs. 30.00

Stolpec ProductID je primarni ključ te tabele. Vsakemu izdelku dodeli edinstveno ID.

Ta tabela vsebuje tudi stolpec za tuje ključe, CategoryID . Vsak izdelek v tabeli izdelka se poveže z vnosom v tabeli Kategorije, ki opredeljuje kategorijo izdelka.

Ta izvleček iz tabele Kategorije baze podatkov:

Kategorije kategorij baz podatkov Northwind Table Table Excerpt
KategorijaID KategorijaName Opis
1 Pijače Brezalkoholne pijače, kava, čaji, pivo in ales
2 Dišave Sladke in aromatične omake, prigrizki, namazi in začimbe
3 Pripomočki Sladice, bonboni in sladki keksi
5 Mlečni izdelki Siri

Stolpec CategoryID je primarni ključ tega stolpca. (Tujega ključa nima, ker nima potrebe po dostopu do druge tabele.) Vsak tuji ključ v tabeli izdelka se poveže s primarnim ključem v tabeli Kategorije. Na primer, proizvodu Chai je dodeljena kategorija "pijače", medtem ko je jabolčni sirup v kategoriji "Dišave".

Ta vrsta povezovanja ustvarja nešteto načinov za uporabo in ponovno uporabo podatkov v relacijski podatkovni bazi.