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:
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:
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.