Skip to main content

Sila zahraničných kľúčov v relatívnych databázach

Anonim

Návrhári databázy širšie využívajú kľúče pri vytváraní relačných databáz. Medzi najčastejšie tieto kľúče patria primárne kľúče a cudzie kľúče. Cudzí kľúč databázy je pole v relačnej tabuľke, ktorá zodpovedá stĺpci primárneho kľúča inej tabuľky. Aby sme pochopili, ako funguje cudzí kľúč, podrobnejšie sa pozrieme na myšlienku relačnej databázy.

Niektoré základy relatívnych databáz

V relačnej databáze sú údaje uložené v tabuľkách obsahujúcich riadky a stĺpce, čo uľahčuje vyhľadávanie a manipuláciu. Za koncept relačnej databázy (relačná algebra, navrhovaná E.F.

Codd v IBM v roku 1970), ale to nie je téma tohto článku.

Pre praktické účely (a nema matematikov) relačná databáza ukladá súvisiace údaje v riadkoch a stĺpcoch. Ďalej - a tu je to zaujímavé - väčšina databáz je navrhnutá tak, aby dáta v jednej tabuľke mohli získať prístup k údajom v inej tabuľke. Táto schopnosť vytvárať vzťahy medzi tabuľkami je skutočná sila relačnej databázy.

Použitie cudzích kľúčov

Väčšina tabuliek, najmä tých vo veľkých, komplexných databázach, má primárne kľúče. Tabuľky, ktoré sú navrhnuté na prístup do iných tabuliek, musia mať aj cudzí kľúč.

Ak chcete použiť bežne citovanú databázu Northwinds, nájdete tu výňatok z tabuľky produktu:

Výpis z tabuľky produktov v databáze Northwind
Identifikačné číslo produktuMeno ProduktuCategoryIDQuantityPerUJednotková cena
1chai110 krabičiek x 20 vreciek18.00
2chang124 - 12 oz fľaše19.00
3Anízový sirup212 - 550 ml fľaše10.00
4Šéfkuchár Anton Cajun248 - 6 oz pohárov22.00
5Šéfkuchár Anton Gumbo Mix236 krabičiek21.35
6Babička Boysenberry Spread212 - 8 oz pohárov25.00
7Organické sušené hrušky strýka Boba712 - 1 lb pkgs.30.00

Identifikačné číslo produktu stĺpec je primárny kľúč tejto tabuľky. Každému produktu pridelí jedinečné ID.

Táto tabuľka obsahuje aj stĺpec cudzieho kľúča, CategoryID, Každý produkt v tabuľke produktu odkazuje na položku v tabuľke kategórií, ktorá definuje túto kategóriu produktu.

Všimnite si tento výňatok z tabuľky kategórií databázy:

Tabuľkový výpis kategórií databázy Northwind
CategoryIDMeno kategóriepopis
1nápojeNealkoholické nápoje, kávy, čaje, pivo a čokoláda
2korenieSladké a slané omáčky, korenie, nátierky a koreniny
3cukrovíDezerty, cukríky a sladké chrumky
5Mliečne výrobkysyry

Stĺpec CategoryID je primárny kľúč tohto stĺpca. (Nemá žiadny cudzí kľúč, pretože nemá prístup k inej tabuľke.) Každý cudzí kľúč v tabuľke produktu odkazuje na primárny kľúč v tabuľke kategórií. Napríklad výrobok Chai má priradenú kategóriu "nápoje", zatiaľ čo anízový sirup je v kategórii "Korenie".

Tento druh prepojenia vytvára nespočetné množstvo spôsobov využitia a opätovného použitia údajov v relačnej databáze.