Što su ključevi u DBMS-u?
KLJUČOVI u DBMS- u atribut su ili skup atributa koji vam pomažu identificirati red (skup) u relaciji (tablici). Omogućuju vam da pronađete vezu između dvije tablice. Tipke vam pomažu jedinstveno prepoznati redak u tablici kombinacijom jednog ili više stupaca u toj tablici. Ključ je također koristan za pronalaženje jedinstvenog zapisa ili retka iz tablice. Ključ baze podataka također je koristan za pronalaženje jedinstvenog zapisa ili retka iz tablice.
Primjer:
ID zaposlenika | Ime | Prezime |
11 | Andrija | Johnson |
22 | Tom | Drvo |
33 | Alex | Hale |
U gore navedenom primjeru ID zaposlenika je primarni ključ jer jedinstveno identificira evidenciju zaposlenika. U ovoj tablici niti jedan zaposlenik ne može imati isti ID zaposlenika.
U ovom vodiču naučit ćete:
- Što su ključevi?
- Zašto nam treba ključ?
- Razni ključevi u sustavu za upravljanje bazama podataka
- Što je Super ključ?
- Što je primarni ključ?
- Što je zamjenski ključ?
- Što je ključ kandidata?
- Što je strani ključ?
- Što je složeni ključ?
- Što je kompozitni ključ?
- Što je zamjenski ključ?
- Razlika između primarnog i stranog ključa
Zašto nam treba ključ?
Evo nekoliko razloga za upotrebu sql ključa u DBMS sustavu.
- Tipke vam pomažu identificirati bilo koji red podataka u tablici. U stvarnoj aplikaciji tablica može sadržavati tisuće zapisa. Štoviše, zapisi bi se mogli duplicirati. Ključevi osiguravaju da možete jedinstveno identificirati zapis tablice unatoč tim izazovima.
- Omogućuje vam uspostavljanje odnosa između i identificiranje odnosa između tablica
- Pomoći vam da nametnete identitet i integritet u vezi.
Vrste ključeva u sustavu za upravljanje bazama podataka
U DBMS-u postoji uglavnom sedam različitih vrsta ključeva i svaki ključ ima različitu funkcionalnost:
- Super ključ - Super ključ je skupina pojedinačnih ili više ključeva koji identificira retke u tablici.
- Primarni ključ - je stupac ili grupa stupaca u tablici koji jedinstveno identificiraju svaki redak u toj tablici.
- Ključ kandidata - skup je atributa koji jedinstveno identificiraju korice u tablici. Ključ kandidata je super ključ bez ponovljenih atributa.
- Alternativni ključ - je stupac ili grupa stupaca u tablici koji jedinstveno identificiraju svaki redak u toj tablici.
- Strani ključ - je stupac koji stvara odnos između dvije tablice. Svrha inozemnih ključeva je održavati cjelovitost podataka i omogućiti navigaciju između dvije različite instance entiteta.
- Složeni ključ - ima dva ili više atributa koji vam omogućuju jedinstveno prepoznavanje određenog zapisa. Moguće je da svaki stupac sam po sebi ne mora biti jedinstven u bazi podataka.
- Sastavljeni ključ - umjetni ključ čiji je cilj jedinstveno identificirati svaki zapis naziva se zamjenskim ključem. Ovakve su tipke jedinstvene jer se stvaraju kada nemate prirodni primarni ključ.
- Zamjenski ključ - Umjetni ključ čiji je cilj jedinstveno identificirati svaki zapis naziva se zamjenskim ključem. Ovakve su tipke jedinstvene jer se stvaraju kada nemate prirodni primarni ključ.
Što je Super ključ?
Superključ je skupina jednog ili više ključeva koji identificira retke u tablici. Super ključ može imati dodatne atribute koji nisu potrebni za jedinstvenu identifikaciju.
Primjer:
EmpSSN | EmpNum | Empname |
9812345098 | AB05 | Pokazano |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
U gore navedenom primjeru, EmpSSN i EmpNum name su superključevi.
Što je primarni ključ?
PRIMARNI KLJUČ je stupac ili grupa stupaca u tablici koji jedinstveno identificiraju svaki redak u toj tablici. Primarni ključ ne može biti duplikat, što znači da se ista vrijednost ne može pojaviti više puta u tablici. Tablica ne može imati više od jednog primarnog ključa.
Pravila za definiranje primarnog ključa:
- Dva retka ne mogu imati istu vrijednost primarnog ključa
- Svaki redak mora imati vrijednost primarnog ključa.
- Polje primarnog ključa ne može biti null.
- Vrijednost u stupcu primarnog ključa nikada se ne može izmijeniti ili ažurirati ako se bilo koji inozemni ključ odnosi na taj primarni ključ.
Primjer:
U sljedećem je primjeru StudID
primarni ključ.
StudID | Rola br | Ime | Prezime | |
1 | 11 | Tom | Cijena | Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta. |
2 | 12 | Nick | Wright | Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta. |
3 | 13 | Dana | Natan | Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta. |
Što je zamjenski ključ?
ALTERNATNI KLJUČOVI su stupac ili grupa stupaca u tablici koji jedinstveno identificiraju svaki redak u toj tablici. Tablica može imati više izbora za primarni ključ, ali samo jedan može se postaviti kao primarni ključ. Svi se ključevi koji nisu primarni ključi nazivaju zamjenskim ključem.
Primjer:
U ovoj su tablici StudID, Roll No, Email kvalificirani da postanu primarni ključ. No s obzirom da je StudID primarni ključ, Roll No, Email postaje alternativni ključ.
StudID | Rola br | Ime | Prezime | |
1 | 11 | Tom | Cijena | Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta. |
2 | 12 | Nick | Wright | Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta. |
3 | 13 | Dana | Natan | Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta. |
Što je ključ kandidata?
KANDIDATNI KLJUČ skup je atributa koji jedinstveno identificiraju korpe u tablici. Ključ kandidata je super ključ bez ponovljenih atributa. Primarni ključ treba odabrati između ključeva kandidata. Svaka tablica mora imati barem jedan ključ kandidata. Tablica može imati više ključeva kandidata, ali samo jedan primarni ključ.
Svojstva ključa kandidata:
- Mora sadržavati jedinstvene vrijednosti
- Ključ kandidata može imati više atributa
- Ne smije sadržavati null vrijednosti
- Trebao bi sadržavati najmanje polja kako bi se osigurala jedinstvenost
- Jedinstveno identificirajte svaki zapis u tablici
Primjer: U datoj tablici Stud ID, Roll No i email su ključevi kandidati koji nam pomažu da jedinstveno identificiramo studentski zapis u tablici.
StudID | Rola br | Ime | Prezime | |
1 | 11 | Tom | Cijena | Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta. |
2 | 12 | Nick | Wright | Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta. |
3 | 13 | Dana | Natan | Ova adresa e-pošte zaštićena je od neželjenih robota. Ako ga želite pregledati, potreban vam je Java-skripta. |
Što je strani ključ?
STRANI KLJUČ je stupac koji stvara odnos između dvije tablice. Svrha inozemnih ključeva je održavati cjelovitost podataka i omogućiti navigaciju između dvije različite instance entiteta. Djeluje kao unakrsna referenca između dviju tablica jer upućuje na primarni ključ druge tablice.
Primjer:
DeptCode | Ime odjela |
001 | Znanost |
002 | Engleski |
005 | Računalo |
ID učitelja | Fname | Lname |
B002 | David | Warner |
B017 | Sara | Josipa |
B009 | Mikrofon | Brunton |
U ovom ključu u primjeru dbms-a imamo dva stola, nastavu i odjel u školi. Međutim, ne postoji način da se vidi koja pretraga radi u kojem odjelu.
U ovoj tablici, dodavanjem stranog ključa u Deptcodeu u ime učitelja, možemo stvoriti odnos između dvije tablice.
ID učitelja | DeptCode | Fname | Lname |
B002 | 002 | David | Warner |
B017 | 002 | Sara | Josipa |
B009 | 001 | Mikrofon | Brunton |
Ovaj koncept poznat je i kao referentna cjelovitost.
Što je složeni ključ?
SLOŽENI KLJUČ ima dva ili više atributa koji vam omogućavaju jedinstveno prepoznavanje određenog zapisa. Moguće je da svaki stupac sam po sebi ne mora biti jedinstven u bazi podataka. Međutim, kada se kombinira s drugim stupcem ili stupcima, kombinacija složenih tipki postaje jedinstvena. Svrha složenog ključa u bazi podataka je jedinstvena identifikacija svakog zapisa u tablici.
Primjer:
Narudžba br | PorductID | ime proizvoda | Količina |
B005 | JAP102459 | Miš | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | LCD monitor | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Laserski printer | 3 |
U ovom primjeru OrderNo i ProductID ne mogu biti primarni ključ jer jedinstveno ne identificiraju zapis. Međutim, složeni ključ ID-a narudžbe i ID-a proizvoda mogao bi se koristiti jer je jedinstveno identificirao svaki zapis.
Što je kompozitni ključ?
KOMPOZITNI KLJUČ kombinacija je dva ili više stupaca koji jedinstveno identificiraju retke u tablici. Kombinacija stupaca jamči jedinstvenost, iako pojedinačno jedinstvenost nije zajamčena. Stoga se kombiniraju za jedinstveno prepoznavanje zapisa u tablici.
Razlika između složenog i složenog ključa je u tome što bilo koji dio složenog ključa može biti strani ključ, ali kompozitni ključ može ili ne mora biti dio stranog ključa.
Što je zamjenski ključ?
SURROGATE KLJUČEVI su umjetni ključevi kojima je cilj jedinstveno identificirati svaki zapis naziva se zamjenski ključ. Ova vrsta djelomičnog ključa u dbms-u jedinstvena je jer se stvara kad nemate prirodni primarni ključ. Oni ne daju nikakvo značenje podacima u tablici. Zamjenski ključ obično je cijeli broj. Surogat ključ je vrijednost koja se generira neposredno prije nego što se zapis ubaci u tablicu.
Fname | Prezime | Vrijeme početka | Vrijeme završetka |
Anne | Smith | 09:00 | 18:00 |
Utičnica | Franjo | 08:00 | 17:00 |
Anna | McLean | 11:00 | 20:00 |
Pokazano | Willam | 14:00 | 23:00 |
Iznad, navedenog primjera, prikazani su termini smjena različitog zaposlenika. U ovom je primjeru surogat ključ potreban za jedinstvenu identifikaciju svakog zaposlenika.
Zamjenski ključevi u sqlu dopušteni su kada
- Nijedno svojstvo nema parametar primarnog ključa.
- U tablici kada je primarni ključ prevelik ili složen.
Razlika između primarnog i stranog ključa
Osnovni ključ | Strani kljuc |
Pomaže vam u jedinstvenom prepoznavanju zapisa u tablici. | To je polje u tablici koje je primarni ključ druge tablice. |
Primarni ključ nikada ne prihvaća null vrijednosti. | Strani ključ može prihvatiti više null vrijednosti. |
Primarni ključ je klasterirani indeks i podaci u DBMS tablici fizički su organizirani u slijedu klasteriziranog indeksa. | Strani ključ ne može automatski stvoriti indeks, klasteriran ili neklasteriran. Međutim, možete ručno stvoriti indeks na stranom ključu. |
Možete imati jedan primarni ključ u tablici. | U tablici možete imati više stranih ključeva. |
Sažetak
- Ključ u SQL-u je atribut ili skup atributa koji vam pomažu identificirati red (skup) u relaciji (tablici)
- DBMS ključevi omogućuju vam uspostavljanje odnosa između i identificiranje odnosa između tablica
- Sedam vrsta DBMS ključeva su Super, Primary, Candidate, Alternate, Foreign, Compound, Composite i Surrogate Key.
- Super ključ je grupa pojedinačnih ili više ključeva koja identificira retke u tablici.
- Stupac ili grupa stupaca u tablici koja nam pomaže da jedinstveno identificiramo svaki redak u toj tablici naziva se primarnim ključem
- Svi ključevi koji nisu primarni ključi nazivaju se zamjenskim ključevima
- Super ključ bez ponovljenog atributa naziva se ključ kandidat
- Složeni ključ je ključ koji ima mnogo polja koja vam omogućuju jedinstveno prepoznavanje određenog zapisa
- Ključ koji ima više atributa za jedinstveno prepoznavanje redaka u tablici naziva se složeni ključ
- Umjetni ključ kojem je cilj jedinstveno identificirati svaki zapis naziva se zamjenski ključ
- Primarni ključ nikada ne prihvaća null vrijednosti, dok strani ključ može prihvatiti više null vrijednosti.