Čo sú kľúče v systéme DBMS?
KLÁVESY v DBMS je atribút alebo sada atribútov, ktoré vám pomôžu 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ľúč je tiež užitočný na vyhľadanie jedinečného záznamu alebo riadku z tabuľky. Kľúč databázy je tiež užitočný na vyhľadanie jedinečného záznamu alebo riadku z tabuľky.
Príklad:
zamestnanecké ID | Krstné meno | Priezvisko |
11 | Andrew | Johnson |
22 | Tom | Drevo |
33 | Alex | Hale |
Vo vyššie uvedenom príklade je ID zamestnanca primárnym kľúčom, pretože jedinečne identifikuje záznam zamestnanca. V tejto tabuľke nemôže mať žiadny iný zamestnanec rovnaké identifikačné číslo zamestnanca.
V tomto návode sa dozviete:
- Čo sú to kľúče?
- Prečo potrebujeme kľúč?
- Rôzne kľúče v systéme správy databázy
- Čo je Super kľúč?
- Čo je primárny kľúč?
- Čo je alternatívny kľúč?
- Čo je kandidátsky kľúč?
- Čo je cudzí kľúč?
- Čo je zložený kľúč?
- Čo je zložený kľúč?
- Čo je náhradný kľúč?
- Rozdiel medzi primárnym a cudzím kľúčom
Prečo potrebujeme kľúč?
Tu je niekoľko dôvodov pre použitie kľúča sql v systéme DBMS.
- Klávesy vám pomôžu identifikovať akýkoľvek riadok údajov v tabuľke. V aplikácii v reálnom svete môže tabuľka obsahovať tisíce záznamov. Okrem toho je možné záznamy duplikovať. Klávesy zabezpečujú, že aj napriek týmto výzvam môžete jednoznačne identifikovať záznam tabuľky.
- Umožňuje vám vytvoriť vzťah medzi a identifikovať vzťah medzi tabuľkami
- Pomôže vám presadiť identitu a integritu vo vzťahu.
Typy kľúčov v systéme správy databázy
V systéme DBMS je hlavne sedem rôznych typov kľúčov a každý kľúč má inú funkčnosť:
- Super kľúč - Super kľúč je skupina jednoduchých alebo viacerých kľúčov, ktoré identifikujú riadky v tabuľke.
- Primárny kľúč - je stĺpec alebo skupina stĺpcov v tabuľke, ktorá jedinečne identifikuje každý riadok v tejto tabuľke.
- Kandidátsky kľúč - je sada atribútov, ktoré jedinečne identifikujú n-tice v tabuľke. Kandidátsky kľúč je superkľúč bez opakovaných atribútov.
- Alternatívny kľúč - je stĺpec alebo skupina stĺpcov v tabuľke, ktorá jedinečne identifikuje každý riadok v tejto tabuľke.
- Cudzí kľúč - je stĺpec, ktorý vytvára vzťah medzi dvoma tabuľkami. Účelom cudzích kľúčov je zachovať integritu údajov a umožniť navigáciu medzi dvoma rôznymi inštanciami entity.
- Zložený kľúč - má dva alebo viac atribútov, ktoré vám umožňujú jednoznačne rozpoznať konkrétny záznam. Je možné, že každý stĺpec nemusí byť v databáze sám o sebe jedinečný.
- Kompozitný kľúč - Umelý kľúč, ktorého cieľom je jedinečná identifikácia každého záznamu, sa nazýva náhradný kľúč. Tento druh kľúča je jedinečný, pretože sa vytvára, keď nemáte žiadny prirodzený primárny kľúč.
- Náhradný kľúč - Umelý kľúč, ktorého cieľom je jedinečná identifikácia každého záznamu, sa nazýva náhradný kľúč. Tento druh kľúča je jedinečný, pretože sa vytvára, keď nemáte žiadny prirodzený primárny kľúč.
Čo je Super kľúč?
Superkľúč je skupina jedného alebo viacerých kľúčov, ktoré identifikujú riadky v tabuľke. Super kľúč môže mať ďalšie atribúty, ktoré nie sú potrebné na jednoznačnú identifikáciu.
Príklad:
EmpSSN | EmpNum | Empname |
9812345098 | AB05 | Zobrazené |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
Vo vyššie uvedenom príklade sú názvy EmpSSN a EmpNum superkľúčové.
Čo je primárny kľúč?
PRIMÁRNY KLÍČ je stĺpec alebo skupina stĺpcov v tabuľke, ktorá jedinečne identifikuje každý riadok v tejto tabuľke. Primárny kľúč nemôže byť duplikát, čo znamená, že rovnaká hodnota sa v tabuľke nemôže vyskytnúť viackrát. Tabuľka nemôže mať viac ako jeden primárny kľúč.
Pravidlá pre definovanie primárneho kľúča:
- Dva riadky nemôžu mať rovnakú hodnotu primárneho kľúča
- Pre každý riadok musí byť hodnota primárneho kľúča.
- Pole primárneho kľúča nemôže mať hodnotu null.
- Hodnotu v stĺpci primárneho kľúča nie je možné nikdy upraviť ani aktualizovať, ak sa na tento primárny kľúč vzťahuje akýkoľvek cudzí kľúč.
Príklad:
V nasledujúcom príklade je StudID
primárny kľúč.
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. |
Čo je alternatívny kľúč?
ALTERNATE KEYS je stĺpec alebo skupina stĺpcov v tabuľke, ktorá jedinečne identifikuje každý riadok v tejto tabuľke. Tabuľka môže mať viac možností pre primárny kľúč, ale iba jeden môže byť nastavený ako primárny kľúč. Všetky kľúče, ktoré nie sú primárnym kľúčom, sa nazývajú Alternatívny kľúč.
Príklad:
V tejto tabuľke sú identifikátory StudID, Roll No, Email kvalifikované ako primárny kľúč. Ale keďže StudID je primárny kľúč, Roll No, e-mail sa stáva alternatívnym kľúčom.
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. |
Čo je kľúč kandidáta?
KANDIDÁTOVÝ KĽÚČ je sada atribútov, ktoré jedinečne identifikujú n-tice v tabuľke. Kandidátsky kľúč je superkľúč bez opakovaných atribútov. Primárny kľúč by sa mal zvoliť z kandidátskych kľúčov. Každá tabuľka musí mať aspoň jeden kľúč od kandidáta. Tabuľka môže mať viac kandidátskych kľúčov, ale iba jeden primárny kľúč.
Vlastnosti kandidátskeho kľúča:
- Musí obsahovať jedinečné hodnoty
- Kandidátsky kľúč môže mať viac atribútov
- Nesmie obsahovať nulové hodnoty
- Mal by obsahovať minimálne polia, aby sa zabezpečila jedinečnosť
- Jedinečne identifikujte každý záznam v tabuľke
Príklad: V danej tabuľke sú Stud ID, Roll No a email kandidátske kľúče, ktoré nám pomáhajú jednoznačne identifikovať záznam študenta v tabuľke.
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. |
Čo je cudzí kľúč?
FOREIGN KEY je stĺpec, ktorý vytvára vzťah medzi dvoma tabuľkami. Účelom cudzích kľúčov 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.
Príklad:
DeptCode | DeptName |
001 | Veda |
002 | Angličtina |
005 | Počítač |
ID učiteľa | Meno | Meno |
B002 | Dávid | Warner |
B017 | Sara | Jozefa |
B009 | Mike | Brunton |
V tomto kľúči v príklade dbms máme v škole dve tabuľky, výučbu a oddelenie. Neexistuje však spôsob, ako zistiť, ktoré vyhľadávacie práce v ktorom oddelení fungujú.
V tejto tabuľke, pridaním cudzieho kľúča v Deptcode k menu Učiteľ, môžeme vytvoriť vzťah medzi týmito dvoma tabuľkami.
ID učiteľa | DeptCode | Meno | Meno |
B002 | 002 | Dávid | Warner |
B017 | 002 | Sara | Jozefa |
B009 | 001 | Mike | Brunton |
Tento koncept je tiež známy ako Referenčná integrita.
Čo je to zložený kľúč?
ZLOŽKOVÝ KLÍČ má dva alebo viac atribútov, ktoré vám umožňujú jedinečne rozpoznať konkrétny záznam. Je možné, že každý stĺpec nemusí byť v databáze sám o sebe jedinečný. Ak sa však skombinuje s iným stĺpcom alebo stĺpcami, kombinácia kombinovaných klávesov bude jedinečná. Účelom zloženého kľúča v databáze je jedinečná identifikácia každého záznamu v tabuľke.
Príklad:
Číslo objednávky | PorductID | Meno Produktu | Množstvo |
B005 | JAP102459 | Myš | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | LCD monitor | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Laserova tlačiareň | 3 |
V tomto príklade nemôžu byť čísla objednávky a ID produktu primárnym kľúčom, pretože jedinečne neidentifikujú záznam. Môže sa však použiť zložený kľúč ID objednávky a ID produktu, pretože jedinečne identifikuje každý záznam.
Čo je to zložený kľúč?
KOMPOZITNÝ KLÍČ je kombinácia dvoch alebo viacerých stĺpcov, ktoré jednoznačne identifikujú riadky v tabuľke. Kombinácia stĺpcov zaručuje jedinečnosť, aj keď jedinečnosť nie je zaručená. Preto sú kombinované na jednoznačnú identifikáciu záznamov v tabuľke.
Rozdiel medzi zloženým a zloženým kľúčom je v tom, že ľubovoľná časť zloženého kľúča môže byť cudzím kľúčom, ale zložený kľúč môže alebo nemusí byť súčasťou cudzieho kľúča.
Čo je náhradný kľúč?
SURROGATE KEYS je umelý kľúč, ktorého cieľom je jednoznačná identifikácia každého záznamu, sa nazýva náhradný kľúč. Tento druh čiastočného kľúča v dbms je jedinečný, pretože sa vytvára, keď nemáte žiadny prirodzený primárny kľúč. Údajom v tabuľke nepripisujú žiadny význam. Náhradný kľúč je zvyčajne celé číslo. Náhradný kľúč je hodnota vygenerovaná tesne pred vložením záznamu do tabuľky.
Meno | Priezvisko | Doba spustenia | Čas ukončenia |
Anne | Smith | 09:00 | 18:00 |
Jack | Františka | 08:00 | 17:00 |
Anna | McLean | 11:00 | 20:00 |
Zobrazené | Willam | 14:00 | 23:00 |
Vyššie uvedený príklad zobrazuje časovanie zmien rôznych zamestnancov. V tomto príklade je potrebný náhradný kľúč na jednoznačnú identifikáciu každého zamestnanca.
Náhradné kľúče v sql sú povolené, keď
- Žiadna vlastnosť nemá parameter primárneho kľúča.
- V tabuľke, keď je primárny kľúč príliš veľký alebo komplikovaný.
Rozdiel medzi primárnym a cudzím kľúčom
Primárny kľúč | Cudzí kľúč |
Pomáha vám jednoznačne identifikovať záznam v tabuľke. | Je to pole v tabuľke, ktoré je primárnym kľúčom inej tabuľky. |
Primárny kľúč nikdy neprijíma nulové hodnoty. | Cudzí kľúč môže akceptovať viac nulových hodnôt. |
Primárnym kľúčom je zoskupený index a údaje v tabuľke DBMS sú fyzicky usporiadané v poradí zoskupeného indexu. | Cudzí kľúč nemôže automaticky vytvoriť index, zoskupený alebo neskupený. Môžete však manuálne vytvoriť index pre cudzí kľúč. |
Jeden hlavný kľúč môžete mať v tabuľke. | V tabuľke môžete mať viac cudzích kľúčov. |
Zhrnutie
- Kľúčom v SQL je atribút alebo sada atribútov, ktoré vám pomôžu identifikovať riadok (n-ticu) vo vzťahu (tabuľka).
- Kľúče DBMS vám umožňujú nadviazať vzťah medzi tabuľkami a identifikovať ich
- Sedem typov kľúčov DBMS je kľúč Super, Primary, Candidate, Alternate, Foreign, Compound, Composite a Surrogate.
- Super kľúč je skupina jednoduchých alebo viacerých kľúčov, ktoré identifikujú riadky v tabuľke.
- Stĺpec alebo skupina stĺpcov v tabuľke, ktorá nám pomáha jednoznačne identifikovať každý riadok v tejto tabuľke, sa nazýva primárny kľúč
- Všetky kľúče, ktoré nie sú primárnym kľúčom, sa nazývajú alternatívny kľúč
- Super kľúč bez opakovaných atribútov sa nazýva kandidátsky kľúč
- Zložený kľúč je kľúč, ktorý má veľa polí, ktoré umožňujú jedinečné rozpoznanie konkrétneho záznamu
- Kľúč, ktorý má viac atribútov na jednoznačnú identifikáciu riadkov v tabuľke, sa nazýva zložený kľúč
- Umelý kľúč, ktorého cieľom je jedinečná identifikácia každého záznamu, sa nazýva náhradný kľúč
- Primárny kľúč nikdy neprijíma nulové hodnoty, zatiaľ čo cudzí kľúč môže akceptovať viac nulových hodnôt.