Skôr ako spoznáme rozdiel medzi primárnym a cudzím kľúčom, poďme sa naučiť:
Čo sú to kľúče?
Kľúče sú atribút, ktorý vám pomôže identifikovať riadok (n-ticu) vo vzťahu (tabuľka). Umožňujú vám nájsť vzťah medzi dvoma tabuľkami. Klávesy vám pomôžu jednoznačne identifikovať riadok v tabuľke kombináciou jedného alebo viacerých stĺpcov v tejto tabuľke. Kľúč databázy je tiež užitočný na vyhľadanie jedinečného záznamu alebo riadku z tabuľky.
Čo je to databázový vzťah?
Vzťah k databáze sú asociácie medzi jednou alebo viacerými tabuľkami, ktoré sa vytvárajú pomocou príkazov join. Slúži na efektívne načítanie údajov z databázy. Existujú predovšetkým tri typy vzťahov 1) Jeden-na-jeden, 2) Jeden-na-veľa, 3) Mnoho-na-veľa.
Čo je primárny kľúč?
Obmedzením primárneho kľúča je stĺpec alebo skupina stĺpcov, ktoré jedinečne identifikujú každý riadok v tabuľke systému správy relačných databáz. Nemôže ísť o duplikát, čo znamená, že rovnaká hodnota by sa v tabuľke nemala objaviť viac ako raz.
Tabuľka môže mať viac ako jeden primárny kľúč. Primárny kľúč je možné definovať na úrovni stĺpca alebo tabuľky. Ak vytvoríte zložený primárny kľúč, mal by sa definovať na úrovni tabuľky.
Čo je cudzí kľúč?
Cudzí kľúč je stĺpec, ktorý vytvára vzťah medzi dvoma tabuľkami. Účelom cudzieho kľúča je zachovať integritu údajov a umožniť navigáciu medzi dvoma rôznymi inštanciami entity. Funguje ako krížový odkaz medzi dvoma tabuľkami, pretože odkazuje na primárny kľúč inej tabuľky. Každý vzťah v databáze by mal byť podporený cudzím kľúčom.
KĽÚČOVÉ ROZDIELY:
- Obmedzením primárneho kľúča je stĺpec, ktorý jedinečne identifikuje každý riadok v tabuľke systému správy relačných databáz, zatiaľ čo cudzí kľúč je stĺpec, ktorý vytvára vzťah medzi dvoma tabuľkami.
- Primárny kľúč nikdy neprijíma nulové hodnoty, zatiaľ čo cudzí kľúč môže akceptovať viac nulových hodnôt.
- V tabuľke môžete mať iba jeden primárny kľúč, zatiaľ čo v tabuľke môžete mať viac cudzích kľúčov.
- Hodnotu primárneho kľúča nemožno odstrániť z nadradenej tabuľky, zatiaľ čo hodnotu hodnoty cudzieho kľúča je možné odstrániť z podradenej tabuľky.
- Žiadne dva riadky nemôžu mať rovnaké hodnoty pre primárny kľúč, na druhej strane cudzí kľúč môže obsahovať duplicitné hodnoty.
- Vkladanie hodnôt do stĺpca tabuľky pri vkladaní akejkoľvek hodnoty do tabuľky cudzích kľúčov nemá nijaké obmedzenie, uistite sa, že je hodnota prítomná v stĺpci primárneho kľúča.
Prečo používať primárny kľúč?
Tu sú výhody / výhody použitia primárneho kľúča:
- Hlavným cieľom primárneho kľúča je identifikácia každého záznamu v databázovej tabuľke.
- Primárny kľúč môžete použiť, keď niekomu nedovolíte zadávať nulové hodnoty.
- Ak odstránite alebo aktualizujete záznamy, vykoná sa vami zadaná akcia na zaistenie integrity údajov.
- Vykonajte operáciu obmedzenia a odmietnite operáciu odstránenia alebo aktualizácie nadradenej tabuľky.
- Údaje sú usporiadané v poradí zoskupeného indexu, kedykoľvek fyzicky usporiadate tabuľku DBMS.
Prečo používať cudzí kľúč?
Tu sú dôležité dôvody použitia cudzieho kľúča:
- Cudzie kľúče vám pomôžu migrovať entity pomocou primárneho kľúča z nadradenej tabuľky.
- Cudzí kľúč umožňuje prepojiť dve alebo viac tabuliek dohromady.
- Vďaka tomu budú vaše databázové údaje konzistentné.
- Cudzí kľúč je možné použiť na priradenie stĺpca alebo kombinácie stĺpcov k primárnemu kľúču v nadradenej tabuľke.
- Obmedzenie cudzím kľúčom SQL sa používa na zabezpečenie referenčnej integrity rodiča údajov, aby sa zhodovali s hodnotami v podradenej tabuľke.
Príklad primárneho kľúča
Syntax:
Nižšie je uvedená syntax primárneho kľúča:
CREATE TABLE(Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);
Tu,
- Table_Name je názov tabuľky, ktorú musíte vytvoriť.
- Column_Name je názov stĺpca s primárnym kľúčom.
Príklad:
StudID | Roll č | Krstné meno | Priezvisko | |
---|---|---|---|---|
1 | 11 | Tom | cena | Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript. |
2 | 12 | Nick | Wright | Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript. |
3 | 13 | Dana | Natan | Táto e-mailová adresa je chránená pred spamovacími robotmi. Ak ju chcete vidieť, musíte mať povolený JavaScript. |
Vo vyššie uvedenom príklade sme vytvorili tabuľku študentov so stĺpcami ako StudID, Číslo role, Meno, Priezvisko a E-mail. StudID je vybraný ako primárny kľúč, pretože dokáže jedinečne identifikovať ďalšie riadky v tabuľke.
Príklad cudzieho kľúča
Syntax:
Nižšie je uvedená syntax cudzieho kľúča:
CREATE TABLE