logo

Ključevi

  • Ključevi igraju važnu ulogu u relacijskoj bazi podataka.
  • Koristi se za jedinstvenu identifikaciju bilo kojeg zapisa ili retka podataka iz tablice. Također se koristi za uspostavljanje i identificiranje odnosa između tablica.

Na primjer, ID se koristi kao ključ u tablici učenika jer je jedinstven za svakog učenika. U tablici PERSON, broj_putovnice, broj_licence, SSN su ključevi jer su jedinstveni za svaku osobu.

DBMS ključevi

Vrste ključeva:

DBMS ključevi

1. Primarni ključ

  • To je prvi ključ koji se koristi za jedinstvenu identifikaciju jedne i samo jedne instance entiteta. Entitet može sadržavati više ključeva, kao što smo vidjeli u tablici PERSON. Ključ koji je najprikladniji s tih popisa postaje primarni ključ.
  • U tablici EMPLOYEE, ID može biti primarni ključ jer je jedinstven za svakog zaposlenika. U tablici EMPLOYEE možemo čak odabrati License_Number i Passport_Number kao primarne ključeve budući da su i oni jedinstveni.
  • Za svaki entitet odabir primarnog ključa temelji se na zahtjevima i programerima.
DBMS ključevi

2. Ključ kandidata

  • Ključ kandidata je atribut ili skup atributa koji mogu jedinstveno identificirati tuple.
  • Osim primarnog ključa, preostali atributi smatraju se ključem kandidata. Ključevi kandidata su jaki kao i primarni ključ.

Na primjer: U tablici EMPLOYEE, id je najprikladniji za primarni ključ. Ostali atributi, kao što su SSN, Passport_Number, License_Number itd., smatraju se ključnim kandidatima.

DBMS ključevi

3. Super ključ

Super ključ je skup atributa koji može jedinstveno identificirati tuple. Super ključ je nadskup ključa kandidata.

DBMS ključevi

Na primjer: U gornjoj tablici EMPLOYEE, za (EMPLOEE_ID, EMPLOYEE_NAME), ime dvaju zaposlenika može biti isto, ali njihov EMPLYEE_ID ne može biti isti. Dakle, ova kombinacija također može biti ključna.

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

4. Strani ključ

  • Strani ključevi su stupac tablice koji se koristi za ukazivanje na primarni ključ druge tablice.
  • Svaki zaposlenik radi u određenom odjelu u tvrtki, a zaposlenik i odjel dvije su različite cjeline. Stoga ne možemo pohraniti podatke odjela u tablicu zaposlenika. Zato ove dvije tablice povezujemo preko primarnog ključa jedne tablice.
  • Dodajemo primarni ključ tablice DEPARTMENT, Department_Id, kao novi atribut u tablici EMPLOYEE.
  • U tablici EMPLOYEE, Department_Id je strani ključ, a obje su tablice povezane.
DBMS ključevi

5. Alternativni ključ

Može postojati jedan ili više atributa ili kombinacija atributa koji jedinstveno identificiraju svaku torku u relaciji. Ovi atributi ili kombinacije atributa nazivaju se ključevi kandidata. Jedan ključ se bira kao primarni ključ među ovim kandidatskim ključevima, a preostali kandidatski ključ, ako postoji, naziva se alternativni ključ. Drugim riječima, ukupan broj alternativnih ključeva je ukupan broj ključeva kandidata minus primarni ključ. Alternativni ključ može, ali i ne mora postojati. Ako u relaciji postoji samo jedan ključ kandidata, on nema alternativni ključ.

Na primjer, odnos zaposlenika ima dva atributa, Employee_Id i PAN_No, koji djeluju kao ključevi kandidata. U ovom odnosu, Employee_Id je odabran kao primarni ključ, tako da drugi ključ kandidata, PAN_No, djeluje kao alternativni ključ.

zašto string nepromjenjiv u Javi
DBMS ključevi

6. Kompozitni ključ

Kad god se primarni ključ sastoji od više od jednog atributa, poznat je kao složeni ključ. Ovaj ključ je također poznat kao spojeni ključ.

DBMS ključevi

Na primjer, u odnosima sa zaposlenicima pretpostavljamo da se zaposleniku može dodijeliti više uloga, a zaposlenik može raditi na više projekata istovremeno. Tako će primarni ključ biti sastavljen od sva tri atributa, naime Emp_ID, Emp_role i Proj_ID u kombinaciji. Dakle, ovi atributi djeluju kao složeni ključ budući da primarni ključ sadrži više od jednog atributa.

DBMS ključevi

7. Umjetni ključ

Ključevi stvoreni korištenjem proizvoljno dodijeljenih podataka poznati su kao umjetni ključevi. Ti se ključevi stvaraju kada je primarni ključ velik i složen i nema veze s mnogim drugim odnosima. Vrijednosti podataka umjetnih ključeva obično su numerirane serijskim redoslijedom.

Na primjer, primarni ključ, koji se sastoji od Emp_ID, Emp_role i Proj_ID, velik je u odnosima sa zaposlenicima. Stoga bi bilo bolje dodati novi virtualni atribut za jedinstvenu identifikaciju svake torke u relaciji.