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:
| Identifikačné číslo produktu | Meno Produktu | CategoryID | QuantityPerU | Jednotková cena |
|---|---|---|---|---|
| 1 | chai | 1 | 10 krabičiek x 20 vreciek | 18.00 |
| 2 | chang | 1 | 24 - 12 oz fľaše | 19.00 |
| 3 | Anízový sirup | 2 | 12 - 550 ml fľaše | 10.00 |
| 4 | Šéfkuchár Anton Cajun | 2 | 48 - 6 oz pohárov | 22.00 |
| 5 | Šéfkuchár Anton Gumbo Mix | 2 | 36 krabičiek | 21.35 |
| 6 | Babička Boysenberry Spread | 2 | 12 - 8 oz pohárov | 25.00 |
| 7 | Organické sušené hrušky strýka Boba | 7 | 12 - 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:
| CategoryID | Meno kategórie | popis |
|---|---|---|
| 1 | nápoje | Nealkoholické nápoje, kávy, čaje, pivo a čokoláda |
| 2 | korenie | Sladké a slané omáčky, korenie, nátierky a koreniny |
| 3 | cukroví | Dezerty, cukríky a sladké chrumky |
| 5 | Mliečne výrobky | syry |
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.













