logo

Typy kľúčov v relatívnom modeli (kandidát, super, primárny, náhradný a cudzí)

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ľúč

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

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

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ý.