Az adatbázis-tervezők a relációs adatbázisok fejlesztésekor széles körben használják a kulcsokat. Ezek közül a leggyakoribbak közül az elsődleges kulcsok és a külföldi kulcsok. Az adatbázis idegen kulcs egy olyan relációs táblázatban szereplő mező, amely megfelel egy másik táblázat elsődleges kulcs oszlopának. Ahhoz, hogy megértsük, hogyan működik egy idegen kulcs, nézzük közelebb a relációs adatbázis gondolatát.
A relációs adatbázisok alapjai
Egy relációs adatbázisban az adatokat a sorok és oszlopokat tartalmazó táblákban tárolják, megkönnyítve a keresést és manipulálást. A relációs adatbázis koncepciója mögött van egy komoly matematika (relációs algebra, amelyet az E.F.
Codd az IBM-ben 1970-ben), de ez nem a cikk témája.
Gyakorlati célok (és nem matematikusok) egy relációs adatbázis tárolja a kapcsolódó adatokat sorokban és oszlopokban. Továbbá - és itt érdekesnek tűnik - a legtöbb adatbázis úgy van megtervezve, hogy az egyik táblázatban lévő adatok hozzáférjenek az adatokhoz egy másik táblázatban. Ez a képesség, hogy kapcsolatot teremtsen a táblák között, egy relációs adatbázis valódi ereje.
Külföldi kulcsok használata
A legtöbb táblázat, különösen a nagy, összetett adatbázisokban, elsődleges kulcsokkal rendelkezik. A táblák eléréséhez tervezett tábláknak külföldi kulcsmal is rendelkezniük kell.
Az általánosan idézett Northwinds adatbázis használatához itt található egy kivonat a terméktáblázatban:
Termék azonosító | Termék név | kategóriaazonosító | QuantityPerU | Egységár |
---|---|---|---|---|
1 | Chai | 1 | 10 doboz x 20 zsák | 18.00 |
2 | Chang | 1 | 24 - 12 oz-es palackok | 19.00 |
3 | Ánizs szirup | 2 | 12 - 550 ml-es palackokat | 10.00 |
4 | Anton's Cajun Fűszeres séf | 2 | 48 - 6 oz tégelyek | 22.00 |
5 | Chef Anton's Gumbo Mix | 2 | 36 doboz | 21.35 |
6 | A nagymama's Boysenberry Spread | 2 | 12 - 8 oz tégelyek | 25.00 |
7 | Bob bácsi szerves száraz körte | 7 | 12 - 1 lb pkgs. | 30.00 |
A Termék azonosító oszlop ez az asztal elsődleges kulcsa. Minden termékhez egyedi azonosítót rendel.
Ez a táblázat egy idegen kulcs oszlopot is tartalmaz, kategóriaazonosító. A terméktáblában szereplő minden termék a Kategóriák táblázatban szereplő bejegyzéshez kapcsolódik, amely meghatározza a termék kategóriáját.
Vegye figyelembe ezt a részletet az adatbázis Kategóriák táblázatából:
kategóriaazonosító | Kategória név | Leírás |
---|---|---|
1 | italok | Üdítőitalok, kávék, teák, sörök és ales |
2 | Fűszerek | Édes és sós szószok, ízek, elterjedések és ízesítők |
3 | édességek | Desszertek, édességek és édességek |
5 | Tejtermékek | sajtok |
Az oszlop kategóriaazonosító ez az oszlop elsődleges kulcsa. (Nem rendelkezik idegen kulcsmal, mert nem kell hozzáférnie egy másik táblához.) A Terméktábla minden külföldi kulcsa a Kategóriák táblázatban található elsődleges kulcsra mutat. Például a Chai termékhez egy "Ital" kategóriába tartozik, míg az Aniseed Scirocco a Fűszerek kategóriában található.
Ez a fajta összekapcsolás számtalan módot hoz létre az adatok felhasználására és újrafelhasználására relációs adatbázisban.