logo

Keys

  • Kľúče hrajú dôležitú úlohu v relačnej databáze.
  • Používa sa na jednoznačnú identifikáciu akéhokoľvek záznamu alebo riadku údajov z tabuľky. Používa sa tiež na vytvorenie a identifikáciu vzťahov medzi tabuľkami.

Napríklad, ID sa používa ako kľúč v tabuľke Študent, pretože je jedinečné pre každého študenta. V tabuľke PERSON sú kľúče passport_number, license_number, SSN, pretože sú jedinečné pre každú osobu.

Kľúče DBMS

Typy kľúčov:

Kľúče DBMS

1. Primárny kľúč

  • Je to prvý kľúč, ktorý sa používa na jedinečnú identifikáciu jednej a jedinej inštancie entity. Entita môže obsahovať viacero kľúčov, ako sme videli v tabuľke PERSON. Kľúč, ktorý je z týchto zoznamov najvhodnejší, sa stáva primárnym kľúčom.
  • V tabuľke EMPLOYEE môže byť ID primárnym kľúčom, pretože je jedinečné pre každého zamestnanca. V tabuľke EMPLOYEE môžeme dokonca vybrať License_Number a Passport_Number ako primárne kľúče, pretože sú tiež jedinečné.
  • Pre každý subjekt je výber primárneho kľúča založený na požiadavkách a vývojároch.
Kľúče DBMS

2. Kandidátsky kľúč

  • Kandidátsky kľúč je atribút alebo množina atribútov, ktoré môžu jednoznačne identifikovať n-ticu.
  • Okrem primárneho kľúča sa zostávajúce atribúty považujú za kandidátsky kľúč. Kandidátske kľúče sú rovnako silné ako primárny kľúč.

Napríklad: V tabuľke EMPLOYEE je id najvhodnejšie pre primárny kľúč. Ostatné atribúty, ako napríklad SSN, Passport_Number, License_Number atď., sa považujú za kandidátsky kľúč.

Kľúče DBMS

3. Super kľúč

Super kľúč je súbor atribútov, ktorý dokáže jednoznačne identifikovať n-ticu. Super kľúč je nadmnožinou kandidátskeho kľúča.

Kľúče DBMS

Napríklad: Vo vyššie uvedenej tabuľke EMPLOYEE pre (EMPLOEE_ID, EMPLOYEE_NAME) môžu byť mená dvoch zamestnancov rovnaké, ale ich EMPLYEE_ID nemôže byť rovnaké. Preto môže byť táto kombinácia tiež kľúčová.

Super kľúč by bol EMPLOYEE-ID (EMPLOYEE_ID, EMPLOYEE-NAME) atď.

4. Cudzí kľúč

  • Cudzie kľúče sú stĺpce tabuľky, ktoré sa používajú na ukazovanie na primárny kľúč inej tabuľky.
  • Každý zamestnanec pracuje na konkrétnom oddelení v spoločnosti a zamestnanec a oddelenie sú dva rôzne subjekty. Nemôžeme teda uložiť informácie o oddelení do tabuľky zamestnancov. Preto tieto dve tabuľky prepájame cez primárny kľúč jednej tabuľky.
  • Pridávame primárny kľúč tabuľky ODDELENIE ID_oddelenia ako nový atribút do tabuľky ZAMESTNANCI.
  • V tabuľke EMPLOYEE je Department_Id cudzí kľúč a obe tabuľky spolu súvisia.
Kľúče DBMS

5. Alternatívny kľúč

Môže existovať jeden alebo viac atribútov alebo kombinácia atribútov, ktoré jedinečne identifikujú každú n-ticu vo vzťahu. Tieto atribúty alebo kombinácie atribútov sa nazývajú kandidátske kľúče. Jeden kľúč je vybraný ako primárny kľúč z týchto kandidátskych kľúčov a zostávajúci kandidátsky kľúč, ak existuje, sa nazýva alternatívny kľúč. Inými slovami, celkový počet alternatívnych kľúčov je celkový počet kandidátskych kľúčov mínus primárny kľúč. Alternatívny kľúč môže alebo nemusí existovať. Ak je vo vzťahu iba jeden kandidátsky kľúč, nemá alternatívny kľúč.

Napríklad, zamestnanecký vzťah má dva atribúty, Employee_Id a PAN_No, ktoré fungujú ako kandidátske kľúče. V tomto vzťahu je Employee_Id vybrané ako primárny kľúč, takže druhý kandidátsky kľúč, PAN_No, funguje ako Alternatívny kľúč.

cpp sa rovná
Kľúče DBMS

6. Kompozitný kľúč

Vždy, keď primárny kľúč pozostáva z viac ako jedného atribútu, je známy ako zložený kľúč. Tento kľúč je známy aj ako zreťazený kľúč.

Kľúče DBMS

Napríklad, v zamestnaneckých vzťahoch predpokladáme, že zamestnancovi môže byť pridelených viacero rolí a zamestnanec môže pracovať na viacerých projektoch súčasne. Primárny kľúč sa teda bude skladať zo všetkých troch atribútov, konkrétne Emp_ID, Emp_role a Proj_ID v kombinácii. Tieto atribúty teda fungujú ako zložený kľúč, pretože primárny kľúč obsahuje viac ako jeden atribút.

Kľúče DBMS

7. Umelý kľúč

Kľúč vytvorený pomocou ľubovoľne priradených údajov sa nazýva umelé kľúče. Tieto kľúče sa vytvárajú, keď je primárny kľúč veľký a zložitý a nemá žiadny vzťah s mnohými inými vzťahmi. Dátové hodnoty umelých kľúčov sú zvyčajne očíslované v sériovom poradí.

Napríklad, primárny kľúč, ktorý sa skladá z Emp_ID, Emp_role a Proj_ID, je v zamestnaneckých vzťahoch veľký. Preto by bolo lepšie pridať nový virtuálny atribút na jedinečnú identifikáciu každej n-tice vo vzťahu.