Klíče jsou jedním ze základních požadavků modelu relační databáze. Je široce používán k jedinečné identifikaci n-tic (řádků) v tabulce. Klíče také používáme k nastavování vztahů mezi různými sloupci a tabulkami relační databáze.
Různé typy databázových klíčů
- Klíč kandidáta
- Primární klíč
- Super klíč
- Alternativní klíč
- Cizí klíč
- Složený klíč
Klíč kandidáta
Minimální sada atributů, které mohou jednoznačně identifikovat n-tici, se nazývá kandidátský klíč. Například STUD_NO ve vztahu STUDENT.
- Je to minimální super klíč.
- Jedná se o super klíč bez opakovaných dat, který se nazývá kandidátský klíč.
- Minimální sada atributů, které mohou jednoznačně identifikovat záznam.
- Musí obsahovat jedinečné hodnoty.
- Může obsahovat hodnoty NULL.
- Každá tabulka musí mít alespoň jeden kandidátský klíč.
- Tabulka může mít více kandidátních klíčů, ale pouze jeden primární klíč.
- Hodnota kandidátského klíče je jedinečná a pro n-tici může být nulová.
- Ve vztahu může být více než jeden kandidátský klíč.
Příklad:
graf alokace zdrojů
STUD_NO is the candidate key for relation STUDENT.>
Stůl STUDENT
| STUD_NO | SNAP | ADRESA | TELEFON |
|---|---|---|---|
| 1 | Shyam | Dillí | 123456789 |
| 2 | Rakesh | Kalkata | 223365796 |
| 3 | Suraj | Dillí | 175468965 |
- Kandidátský klíč může být jednoduchý (má pouze jeden atribut) nebo také složený.
Pří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: v SQL Server jedinečné omezení, které má sloupec s možnou hodnotou Null, umožňuje hodnota ' nula ‘ v tom sloupci pouze jednou . To je důvod, proč je zde atribut STUD_PHONE kandidátem, ale nemůže být hodnotou „null“ v atributu primárního klíče.
Primární klíč
Může existovat více než jeden kandidátský klíč, z nichž jeden může být vybrán jako primární klíč. Například STUD_NO, stejně jako STUD_PHONE, jsou kandidátními klíči pro vztah STUDENT, ale STUD_NO lze vybrat jako primární klíč (pouze jeden z mnoha kandidátských klíčů).
- Je to jedinečný klíč.
- Může identifikovat pouze jednu n-tici (záznam) najednou.
- Nemá žádné duplicitní hodnoty, má jedinečné hodnoty.
- Nemůže být NULL.
- Primární klíče nemusí být nutně jeden sloupec; více než jeden sloupec může být také primárním klíčem tabulky.
Příklad:
gimp nahradit barvu
STUDENT table ->Student(STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO je primární klíč>>>Stůl STUDENT
| STUD_NO | SNAP | ADRESA | TELEFON |
|---|---|---|---|
| 1 | Shyam | Dillí | 123456789 |
| 2 | Rakesh | Kalkata | 223365796 |
| 3 | Suraj | Dillí | 175468965 |
Super klíč
Sada atributů, které mohou jednoznačně identifikovat n-tici, se nazývá Super klíč. Například STUD_NO, (STUD_NO, STUD_NAME) atd. Super klíč je skupina jednoho nebo více klíčů, které identifikují řádky v tabulce. Podporuje hodnoty NULL.
- Přidáním nula nebo více atributů do kandidátského klíče se vygeneruje super klíč.
- Kandidátský klíč je super klíč, ale naopak to neplatí.
- Hodnoty superklíče mohou mít také hodnotu NULL.
Příklad:
Vztah mezi primárním klíčem, kandidátským klíčem a superklíčem
Alternativní klíč
Kandidátský klíč jiný než primární klíč se nazývá an alternativní klíč .
- Všechny klíče, které nejsou primárními klíči, se nazývají alternativní klíče.
- Je to sekundární klíč.
- Obsahuje dvě nebo více polí k identifikaci dvou nebo více záznamů.
- Tyto hodnoty se opakují.
- Např.: JMÉNO a ADRESA jsou Alternativní klíče
Pří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ární klíč, kandidátský klíč a alternativní klíč
Cizí klíč
Pokud atribut může nabývat pouze hodnot, které jsou přítomny jako hodnoty nějakého jiného atributu, bude to a cizí klíč k atributu, na který odkazuje. Vztah, na který se odkazuje, se nazývá odkazovaný vztah a odpovídající atribut se nazývá odkazovaný atribut. Odkazovaný atribut odkazovaného vztahu by měl být jeho primárním klíčem.
- Je to klíč, který funguje jako primární klíč v jedné tabulce a chová se jako
sekundární klíč v jiné tabulce. - Kombinuje dva nebo více vztahů (tabulek) najednou.
- Fungují jako křížový odkaz mezi tabulkami.
- Například DNO je primární klíč v tabulce DEPT a neklíč v EMP
Pří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
vyčistit mezipaměť npm
| STUD_NO | TEACHER_NO | COURSE_NO |
|---|---|---|
| 1 | 005 | C001 |
| 2 | 056 | C005 |
Možná stojí za zmínku, že na rozdíl od primárního klíče jakéhokoli daného vztahu může být cizí klíč NULL a může obsahovat duplicitní n-tice, tj. nemusí dodržovat omezení jedinečnosti. Například STUD_NO ve vztahu STUDENT_COURSE není jedinečné. Bylo to opakováno pro první a třetí n-tice. Avšak STUD_NO ve vztahu STUDENT je primární klíč a musí být vždy jedinečný a nemůže být nulový.

Vztah mezi primárním klíčem a cizím klíčem
Složený klíč
Někdy tabulka nemusí mít jediný sloupec/atribut, který jednoznačně identifikuje všechny záznamy tabulky. K jednoznačné identifikaci řádků tabulky lze použít kombinaci dvou nebo více sloupců/atributů. Stále může ve vzácných případech poskytnout duplicitní hodnoty. Potřebujeme tedy najít optimální sadu atributů, která dokáže jednoznačně identifikovat řádky v tabulce.
- Funguje jako primární klíč, pokud v tabulce není žádný primární klíč
- Dva nebo více atributů se používá společně k vytvoření a kompozitní klíč .
- Různé kombinace atributů mohou poskytovat různou přesnost, pokud jde o jednoznačnou identifikaci řádků.
Příklad:
FULLNAME + DOB can be combined together to access the details of a student.>

Různé typy klíčů
1 z 1000,00
Závěr
Závěrem lze říci, že relační model využívá řadu klíčů: kandidátské klíče umožňují odlišnou identifikaci, primární klíč slouží jako zvolený identifikátor, alternativní klíče nabízejí další možnosti a cizí klíče vytvářejí životně důležité vazby, které zaručují integritu dat mezi tabulkami. Vytvoření silných a efektivních relačních databází vyžaduje promyšlenou aplikaci těchto klíčů.
Časté dotazy o typech klíčů v relačním modelu
Otázka 1: Proč jsou klíče nutné pro DBMS?
Odpovědět:
Klíče jsou jedním z důležitých aspektů DBMS. Klíče nám pomáhají jednoznačně najít n-tice (řádky) v tabulce. Používá se také při vytváření různých vztahů mezi sloupci nebo tabulkami databáze.
Q.2: Co je to jedinečný klíč?
Odpovědět:
Jedinečné klíče jsou klíče, které jednoznačně definují záznam v tabulce. Liší se od primárních klíčů, protože jedinečný klíč může obsahovat jednu hodnotu NULL, ale primární klíč neobsahuje žádné hodnoty NULL.
Q.3: Co je to umělý klíč?
Odpovědět:
Umělé klíče jsou klíče, které se používají, když žádné atributy neobsahují všechny vlastnosti primárního klíče nebo pokud je primární klíč velmi velký a složitý.