Kľúče sú jednou zo základných požiadaviek modelu relačnej databázy. Je široko používaný na jedinečnú identifikáciu n-tic (riadkov) v tabuľke. Kľúče používame aj na nastavenie vzťahov medzi rôznymi stĺpcami a tabuľkami relačnej databázy.
Rôzne typy databázových kľúčov
- Kandidátsky kľúč
- Primárny kľúč
- Super kľúč
- Alternatívny kľúč
- Cudzí kľúč
- Zložený kľúč
Kandidátsky kľúč
Minimálna množina atribútov, ktorá dokáže jednoznačne identifikovať n-ticu, je známa ako kandidátsky kľúč. Napríklad STUD_NO vo vzťahu STUDENT.
- Je to minimálny super kľúč.
- Ide o super kľúč bez opakovaných údajov, ktorý sa nazýva kandidátsky kľúč.
- Minimálna množina atribútov, ktorá dokáže jednoznačne identifikovať záznam.
- Musí obsahovať jedinečné hodnoty.
- Môže obsahovať hodnoty NULL.
- Každá tabuľka musí mať aspoň jeden kandidátsky kľúč.
- Tabuľka môže mať viacero kandidátskych kľúčov, ale iba jeden primárny kľúč.
- Hodnota kandidátskeho kľúča je jedinečná a pre n-ticu môže byť nulová.
- Vo vzťahu môže byť viac ako jeden kandidátsky kľúč.
Príklad:
selén
STUD_NO is the candidate key for relation STUDENT.>
Stôl ŠTUDENT
| STUD_NO | SNAP | ADRESA | TELEFÓN |
|---|---|---|---|
| 1 | Shyam | Dillí | 123456789 |
| 2 | Rakesh | Kalkata | 223365796 |
| 3 | Suraj | Dillí | 175468965 |
- Kandidátsky kľúč môže byť jednoduchý (má len jeden atribút) alebo zložený.
Príklad:
{STUD_NO, COURSE_NO} is a composite candidate key for relation STUDENT_COURSE.> Stôl STUDENT_COURSE
| STUD_NO | TEACHER_NO | COURSE_NO |
|---|---|---|
| 1 | 001 | C001 |
| 2 | 056 | C005 |
Poznámka: In SQL Server jedinečné obmedzenie, ktoré má stĺpec s hodnotou null, umožňuje hodnota ' nulový “ v tomto stĺpci iba raz . To je dôvod, prečo je atribút STUD_PHONE v tomto prípade kandidátom, ale nemôže mať hodnotu „null“ v atribúte primárneho kľúča.
Primárny kľúč
Môže existovať viac ako jeden kandidátsky kľúč, z ktorých jeden môže byť vybraný ako primárny kľúč. Napríklad STUD_NO, rovnako ako STUD_PHONE, sú kandidátske kľúče pre vzťah STUDENT, ale STUD_NO možno vybrať ako primárny kľúč (iba jeden z mnohých kandidátskych kľúčov).
- Je to jedinečný kľúč.
- Dokáže identifikovať iba jednu n-ticu (záznam) naraz.
- Nemá žiadne duplicitné hodnoty, má jedinečné hodnoty.
- Nemôže byť NULL.
- Primárne kľúče nemusia byť nevyhnutne jeden stĺpec; viac ako jeden stĺpec môže byť tiež primárnym kľúčom tabuľky.
Príklad:
c# slovník
STUDENT table ->Študent (STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO je primárny kľúč>>>Stôl ŠTUDENT
| STUD_NO | SNAP | ADRESA | TELEFÓN |
|---|---|---|---|
| 1 | Shyam | Dillí | 123456789 |
| 2 | Rakesh | Kalkata | 223365796 |
| 3 | Suraj | Dillí | 175468965 |
Super kľúč
Súbor atribútov, ktoré dokážu jednoznačne identifikovať n-ticu, sa nazýva Super kľúč. Napríklad STUD_NO, (STUD_NO, STUD_NAME) atď. Super kľúč je skupina jedného alebo viacerých kľúčov, ktoré identifikujú riadky v tabuľke. Podporuje hodnoty NULL.
- Pridaním nuly alebo viacerých atribútov do kandidátskeho kľúča sa vygeneruje super kľúč.
- Kandidátsky kľúč je super kľúč, ale naopak to neplatí.
- Hodnoty superkľúča môžu byť tiež NULL.
Príklad:
Vzťah medzi primárnym kľúčom, kľúčom kandidáta a super kľúčom
Alternatívny kľúč
Kandidátsky kľúč iný ako primárny kľúč sa nazýva an náhradný kľúč .
- Všetky kľúče, ktoré nie sú primárnymi kľúčmi, sa nazývajú alternatívne kľúče.
- Je to sekundárny kľúč.
- Obsahuje dve alebo viac polí na identifikáciu dvoch alebo viacerých záznamov.
- Tieto hodnoty sa opakujú.
- Napr.:- MENO a ADRESA sú Alternatívne kľúče
Príklad:
Consider the table shown above. STUD_NO, as well as PHONE both, are candidate keys for relation STUDENT but PHONE will be an alternate key (only one out of many candidate keys).>

Primárny kľúč, kandidátsky kľúč a alternatívny kľúč
Cudzí kľúč
Ak atribút môže mať iba hodnoty, ktoré sú prítomné ako hodnoty nejakého iného atribútu, bude to a cudzí kľúč na atribút, na ktorý sa vzťahuje. Vzťah, na ktorý sa odkazuje, sa nazýva odkazovaný vzťah a zodpovedajúci atribút sa nazýva odkazovaný atribút. Odkazovaný atribút odkazovaného vzťahu by mal byť jeho primárnym kľúčom.
- Je to kľúč, ktorý funguje ako primárny kľúč v jednej tabuľke a funguje ako
sekundárny kľúč v inej tabuľke. - Kombinuje dva alebo viac vzťahov (tabuľky) naraz.
- Fungujú ako krížový odkaz medzi tabuľkami.
- Napríklad DNO je primárny kľúč v tabuľke DEPT a nekľúč v EMP
Príklad:
Refer Table STUDENT shown above. STUD_NO in STUDENT_COURSE is a foreign key to STUD_NO in STUDENT relation.>
Stôl STUDENT_COURSE
selénový tutoriál
| STUD_NO | TEACHER_NO | COURSE_NO |
|---|---|---|
| 1 | 005 | C001 |
| 2 | 056 | C005 |
Možno stojí za zmienku, že na rozdiel od primárneho kľúča akéhokoľvek daného vzťahu môže byť cudzí kľúč NULL a môže obsahovať duplicitné n-tice, t.j. nemusí dodržiavať obmedzenie jedinečnosti. Napríklad STUD_NO vo vzťahu STUDENT_COURSE nie je jedinečný. Opakovalo sa to pre prvú a tretiu n-ticu. Avšak STUD_NO vo vzťahu STUDENT je primárny kľúč a musí byť vždy jedinečný a nemôže byť nulový.

Vzťah medzi primárnym kľúčom a cudzím kľúčom
Zložený kľúč
Niekedy tabuľka nemusí mať jeden stĺpec/atribút, ktorý jednoznačne identifikuje všetky záznamy tabuľky. Na jedinečnú identifikáciu riadkov tabuľky možno použiť kombináciu dvoch alebo viacerých stĺpcov/atribútov. V zriedkavých prípadoch môže poskytnúť duplicitné hodnoty. Musíme teda nájsť optimálnu sadu atribútov, ktoré dokážu jednoznačne identifikovať riadky v tabuľke.
- Funguje ako primárny kľúč, ak v tabuľke nie je žiadny primárny kľúč
- Dva alebo viac atribútov sa používa spolu na vytvorenie a kompozitný kľúč .
- Rôzne kombinácie atribútov môžu poskytnúť rôznu presnosť, pokiaľ ide o jedinečnú identifikáciu riadkov.
Príklad:
FULLNAME + DOB can be combined together to access the details of a student.>

Rôzne typy kľúčov
str.nahradiť v jave
Záver
Na záver, relačný model využíva množstvo kľúčov: kandidátske kľúče umožňujú zreteľnú identifikáciu, primárny kľúč slúži ako zvolený identifikátor, alternatívne kľúče ponúkajú iné možnosti a cudzie kľúče vytvárajú dôležité prepojenia, ktoré zaručujú integritu údajov medzi tabuľkami. Vytvorenie silných a efektívnych relačných databáz si vyžaduje premyslenú aplikáciu týchto kľúčov.
Časté otázky o typoch kľúčov v relatívnom modeli
Otázka 1: Prečo sú kľúče potrebné pre DBMS?
odpoveď:
Kľúče sú jedným z dôležitých aspektov DBMS. Kľúče nám pomáhajú jednoznačne nájsť n-tice (riadky) v tabuľke. Používa sa tiež pri vytváraní rôznych vzťahov medzi stĺpcami alebo tabuľkami databázy.
Otázka 2: Čo je to jedinečný kľúč?
odpoveď:
Jedinečné kľúče sú kľúče, ktoré jednoznačne definujú záznam v tabuľke. Líši sa od primárnych kľúčov, pretože jedinečný kľúč môže obsahovať jednu hodnotu NULL, ale primárny kľúč neobsahuje žiadne hodnoty NULL.
Q.3: Čo je umelý kľúč?
odpoveď:
Umelé kľúče sú kľúče, ktoré sa používajú, keď žiadne atribúty neobsahujú všetky vlastnosti primárneho kľúča alebo ak je primárny kľúč veľmi veľký a zložitý.