Skip to main content

Snaga stranih ključeva u relacijskim bazama podataka

Our Miss Brooks: Indian Burial Ground / Teachers Convention / Thanksgiving Turkey (Lipanj 2026)

Our Miss Brooks: Indian Burial Ground / Teachers Convention / Thanksgiving Turkey (Lipanj 2026)
Anonim

Dizajneri baze podataka koriste široku uporabu ključeva pri razvoju relacijskih baza podataka. Među najčešćim ključevima su primarni ključevi i strani ključevi. Inozemni bazi podataka je polje u relacijskoj tablici koja odgovara stupcu primarnog ključa druge tablice. Da bismo shvatili kako funkcionira strani ključ, pogledajmo bližu ideju relacijske baze podataka.

Neke osnove relacijskih baza podataka

U relacijskoj bazi podataka podaci se pohranjuju u tablicama koji sadrže retke i stupce, što olakšava pretraživanje i manipuliranje. Postoji neka ozbiljna matematika iza koncepta relacijske baze podataka (relacijska algebra, koju predlaže E.F.

Codd na IBM-u 1970.), ali to nije tema ovog članka.

Za praktične svrhe (i ne-matematičare), relacijska baza podataka pohranjuje podatke u retke i stupce. Nadalje - a ovdje je zanimljivo - većina baza podataka oblikovana je tako da podaci u jednoj tablici mogu pristupiti podacima u drugoj tablici. Ta sposobnost stvaranja odnosa između tablica je stvarna snaga relacijske baze podataka.

Korištenje stranih ključeva

Većina tablica, osobito onih u velikim, složenim bazama podataka, imaju primarne ključeve. Tablice koje su dizajnirane za pristup ostalim tablicama moraju također imati stranog ključa.

Da biste koristili uobičajenu bazu Northwindsa, ovdje je izvadak iz tablice proizvoda:

Izvadak tablice proizvoda iz Northwind baze podataka
Identifikacijski broj proizvodaIme proizvodaCategoryIdQuantityPerUJedinična cijena
1chai110 kutija x 20 vrećica18.00
2Chang1Boce 24 - 12 oz19.00
3Anisirani sirup2Boce od 12 do 550 ml10.00
4Osvježenje Chef Anton's Cajun2Posude od 48 - 6 oz22.00
5Kuhar Anton's Gumbo Mix236 kutija21.35
6Baka's Dječji šećer212 - 8 oz staklenke25.00
7Oče Bobove organske sušene kruške712 - 1 kg pkgs.30.00

Identifikacijski broj proizvoda stupac je primarni ključ ove tablice. Dodjeljuje jedinstveni ID svakom proizvodu.

Ova tablica sadrži i strani ključni stupac, CategoryId, Svaki proizvod iz tablice proizvoda povezuje se s unosom u tablici kategorija koja definira tu kategoriju proizvoda.

Zabilježite ovaj izvadak iz tablice Kategorije baze podataka:

Kategorije baze podataka Northwind Kategorija Tablica izvod
CategoryIdIme kategorijeOpis
1PićaBezalkoholna pića, kava, čajevi, piva i sokovi
2začiniSlatki i ukusni umaci, relishes, širi i začinima
3slasticaDeserti, bomboni i slatkiši
5Mliječni proizvodisirevi

Stupac CategoryId je primarni ključ ovog stupca. (Nema stranog ključa jer nema potrebe za pristupom drugoj tablici.) Svaki strani ključ u tablici proizvoda povezuje se s primarnim ključem u tablici kategorija. Na primjer, proizvodu Chai dodjeljuje se kategorija "Pića", dok se anisirani sirup nalazi u kategoriji Condiments.

Ova vrsta povezivanja stvara bezbroj načina korištenja i ponovne upotrebe podataka u relacijskoj bazi podataka.