Skip to main content

Užsienio raktų galia santykinėse duomenų bazėse

Anonim

Duomenų bazių dizaineriai plačiai naudoja raktus kuriant reliacines duomenų bazes. Tarp labiausiai paplitusių iš šių klavišų yra pagrindiniai raktai ir užsienio raktai. Duomenų bazės išorinis raktas yra reliacinės lentelės laukas, atitinkantis pagrindinės kitos lentelės raktą. Norėdami suprasti, kaip veikia užsienio kalba, atidžiau pažvelkime į reliacinės duomenų bazės idėją.

Kai kurie reliacinių duomenų bazių pagrindai

Reliacinėje duomenų bazėje duomenys yra saugomi lentelėse, kuriose yra eilutės ir stulpeliai, todėl juos lengva ieškoti ir manipuliuoti. Yra keletas rimtų matematikos už reliacinės duomenų bazės koncepcijos (reliacinės algebra, pasiūlyta E.F.

1970 m. IBM "Codd"), tačiau tai nėra šio straipsnio tema.

Praktiniais tikslais (ir nemetantikai) reliacinė duomenų bazė įrašo susijusius duomenis eilučių ir stulpelių. Toliau - ir čia yra įdomu - dauguma duomenų bazių yra sukurtos taip, kad vienoje lentelėje esantys duomenys galėtų pasiekti kitų lentelių duomenis. Šis gebėjimas kurti ryšius tarp stalų yra tikroji reliacinės duomenų bazės galia.

Užsienio raktų naudojimas

Dauguma lentelių, ypač didelėse sudėtingose ​​duomenų bazėse, turi pirminius raktus. Lentelės, skirtos pasiekti kitas lenteles, taip pat turi turėti išorinį raktą.

Jei norite naudoti dažnai cituojamą "Northwinds" duomenų bazę, čia pateikiama ištrauka iš lentelės Produktas:

Northwind duomenų bazės produktų lentelės ištrauka
ProductIDProdukto pavadinimasKategorijaID"NumberPerU"Vienetinis mokestis
1Chai110 dėžių x 20 krepšių18.00
2Čangas124 - 12 oz buteliai19.00
3Anizuotasis sirupas212-550 ml buteliai10.00
4Chef Antono Cajūno prieskoniai248 - 6 auksiniai stiklainiai22.00
5Chef Antono Gumbo mišinys236 dėžutės21.35
6Senelės "Boysenberry Spread"212 - 8 oz. Stiklainiai25.00
7Dėdės Bobo organiniai džiovinti kriaušės712 - 1 lb pkgs.30.00

The ProductID stulpelis yra šio pagrindinio raktas. Jis priskiria unikalų ID kiekvienam produktui.

Šioje lentelėje taip pat yra užsienio rakto stulpelio KategorijaID. Kiekvienas Produkto lentelės produktas susijęs su įrašu kategorijų lentelėje, kurioje apibrėžiama produkto kategorija.

Atkreipkite dėmesį į šį ištrauką iš duomenų bazės lentelių kategorijų:

Northwind duomenų bazės kategorijų lentelių ištrauka
KategorijaIDKategorijaNameapibūdinimas
1GėrimaiNealkoholiniai gėrimai, kavos, arbatos, alaus ir alaus
2PrieskoniaiSaldūs ir pikantiški padažai, pagardai, patiekalai ir pagardai
3SaldumynaiDesertai, saldainiai ir smulkmenos
5Pieno produktaiSūriai

Stulpelis KategorijaID yra šio stulpelio pirminis raktas. (Nėra išorinio rakto, nes nereikia prisijungti prie kitos lentelės.) Kiekvienas išorinis raktas lentelėje "Produktas" nurodo pirminį raktą kategorijų lentelėje. Pavyzdžiui, produktas Chai priskiriamas kategorijai "Gėrimai", o Aništo sirupas priklauso kategorijai Prieskoniai.

Toks susiejimas sukuria daugybė būdų, kaip naudoti ir pakartotinai naudoti duomenis reliacinėje duomenų bazėje.