logo

Ključi

  • Ključi igrajo pomembno vlogo v relacijski bazi podatkov.
  • Uporablja se za enolično identifikacijo katerega koli zapisa ali vrstice podatkov iz tabele. Uporablja se tudi za vzpostavljanje in prepoznavanje odnosov med tabelami.

na primer ID se uporablja kot ključ v tabeli študentov, ker je edinstven za vsakega študenta. V tabeli PERSON so številka_potnega lista, številka_licence, SSN ključi, saj so edinstveni za vsako osebo.

Ključi DBMS

Vrste ključev:

Ključi DBMS

1. Primarni ključ

  • Je prvi ključ, ki se uporablja za edinstveno identifikacijo enega in samo enega primerka entitete. Entiteta lahko vsebuje več ključev, kot smo videli v tabeli PERSON. Ključ, ki je najprimernejši s teh seznamov, postane primarni ključ.
  • V tabeli EMPLOYEE je ID lahko primarni ključ, saj je edinstven za vsakega zaposlenega. V tabeli EMPLOYEE lahko celo izberemo License_Number in Passport_Number kot primarna ključa, saj sta tudi unikatna.
  • Za vsako entiteto izbira primarnega ključa temelji na zahtevah in razvijalcih.
Ključi DBMS

2. Ključ kandidata

  • Ključ kandidata je atribut ali nabor atributov, ki lahko enolično identificirajo tulp.
  • Razen primarnega ključa se preostali atributi obravnavajo kot kandidatni ključ. Ključi kandidatov so tako močni kot primarni ključ.

Na primer: V tabeli EMPLOYEE je id najbolj primeren za primarni ključ. Preostali atributi, kot so SSN, Passport_Number, License_Number itd., veljajo za kandidatni ključ.

Ključi DBMS

3. Super ključ

Super ključ je nabor atributov, ki lahko enolično identificira tuple. Super ključ je nadnabor možnega ključa.

Ključi DBMS

Na primer: V zgornji tabeli EMPLOYEE za (EMPLOEE_ID, EMPLOYEE_NAME) sta lahko imena dveh zaposlenih enaka, vendar njun EMPLYEE_ID ne more biti enak. Zato je ta kombinacija lahko tudi ključna.

Super ključ bi bil EMPLOYEE-ID (EMPLOYEE_ID, EMPLOYEE-NAME) itd.

4. Tuji ključ

  • Tuji ključi so stolpec tabele, ki se uporablja za kazanje na primarni ključ druge tabele.
  • Vsak zaposleni dela v določenem oddelku v podjetju, zaposleni in oddelek pa sta dve različni entiteti. Podatkov o oddelku torej ne moremo shraniti v tabelo zaposlenih. Zato povezujemo ti dve tabeli prek primarnega ključa ene tabele.
  • Dodamo primarni ključ tabele DEPARTMENT, Department_Id, kot nov atribut v tabeli EMPLOYEE.
  • V tabeli EMPLOYEE je Department_Id tuji ključ in obe tabeli sta povezani.
Ključi DBMS

5. Nadomestni ključ

Obstaja lahko eden ali več atributov ali kombinacija atributov, ki enolično identificirajo vsako torko v relaciji. Ti atributi ali kombinacije atributov se imenujejo kandidatni ključi. En ključ je izbran kot primarni ključ izmed teh kandidatnih ključev, preostali kandidatni ključ, če obstaja, pa se imenuje nadomestni ključ. Z drugimi besedami, skupno število nadomestnih ključev je skupno število kandidatnih ključev minus primarni ključ. Nadomestni ključ lahko obstaja ali pa tudi ne. Če je v relaciji samo en kandidatni ključ, ta nima nadomestnega ključa.

na primer odnos zaposlenih ima dva atributa, Employee_Id in PAN_No, ki delujeta kot ključa kandidata. V tem razmerju je Employee_Id izbran kot primarni ključ, tako da drugi kandidatni ključ, PAN_No, deluje kot nadomestni ključ.

sql ddl ukazi
Ključi DBMS

6. Sestavljeni ključ

Kadarkoli je primarni ključ sestavljen iz več kot enega atributa, je znan kot sestavljeni ključ. Ta ključ je znan tudi kot povezani ključ.

Ključi DBMS

na primer v odnosih z zaposlenimi predvidevamo, da je lahko zaposlenemu dodeljenih več vlog in da lahko zaposleni dela na več projektih hkrati. Torej bo primarni ključ sestavljen iz vseh treh atributov, in sicer Emp_ID, Emp_role in Proj_ID v kombinaciji. Torej ti atributi delujejo kot sestavljeni ključ, saj primarni ključ vsebuje več kot en atribut.

Ključi DBMS

7. Umetni ključ

Ključ, ustvarjen s pomočjo poljubno dodeljenih podatkov, je znan kot umetni ključ. Ti ključi so ustvarjeni, ko je primarni ključ velik in zapleten in ni v nobeni povezavi s številnimi drugimi odnosi. Vrednosti podatkov umetnih ključev so običajno oštevilčene v zaporednem vrstnem redu.

na primer primarni ključ, ki je sestavljen iz Emp_ID, Emp_role in Proj_ID, je velik v odnosih z zaposlenimi. Zato bi bilo bolje dodati nov navidezni atribut za edinstveno identifikacijo vsake tuple v relaciji.