Sustav za upravljanje bazom podataka (DBMS) neophodan je u poslovanju, bankarstvu, zračnim prijevoznicima, telekomunikacijama i sveučilištima jer je to učinkovita i pouzdana metoda za stvaranje, pohranu i upravljanje podacima baze podataka. Sustav upravljanja relacijskom bazom podataka (RDBMS) je napredni oblik DMBS-a strukturiran posebno za relacijske baze podataka.
Ključevi su vitalne komponente sheme relacijske baze podataka jer uspostavljaju vezu između dvije različite tablice i jedinstveno identificiraju svaki red podataka unutar tablice. Međutim, ključevi imaju veću važnost od samog održavanja veza.
Pomaže u prikupljanju specifičnih podataka iz brojnih redaka, što bi bilo zamršeno ili čak nemoguće da nije bilo ključeva. Dva primarna ključa koja pomažu uspostaviti i učinkovito identificirati veze između relacijskih baza podataka su primarni ključevi i strani ključevi.
Ključni za poneti
- Primarni ključ je jedinstveni identifikator za svaki zapis u tablici baze podataka, čime se osigurava da dva retka nemaju istu vrijednost primarnog ključa.
- Strani ključ je polje u tablici koje se odnosi na primarni ključ druge tablice, uspostavljajući odnos između dvije tablice i održavajući referentni integritet.
- Glavna razlika između primarnih ključeva i stranih ključeva je njihova funkcija unutar baze podataka, pri čemu primarni ključevi pružaju jedinstveni identifikator za zapise. Nasuprot tome, strani ključevi stvaraju odnose između tablica referenciranjem na primarne ključeve u drugim tablicama.
Primarni ključ naspram stranog ključa
Primarni ključ je izbor stupaca koji je jedinstven i određuje skup redaka u određenoj tablici, a također i atribut koji ima ID koji se smatra ključem kandidata. Strani ključ je a kolona u tablici koja služi kao veza između dvije različite tablice, a sadrži nulte vrijednosti.
Tablica ne može biti relacija baza podataka tablica bez primarnog ključa. Budući da primarni ključevi jedinstveno identificiraju određeni red podataka, dva ili više redaka ne mogu imati slične primarne ključeve. Nasuprot tome, strani ključevi koriste se za uspostavljanje odnosa između zapisa dviju različitih tablica.
Tabela za usporedbu
Parametar usporedbe | Glavni ključ | Strani kljuc |
---|---|---|
Duplicirane vrijednosti | Primarni ključevi ne dopuštaju da dva retka imaju iste vrijednosti. | Strani ključevi dopuštaju da dva retka imaju iste vrijednosti. |
Umetanje | U primarne ključeve moguće je unijeti vrijednosti čak i ako strani ključ nema tu vrijednost. | U strane ključeve nije moguće umetnuti vrijednosti ako vrijednosti nisu prisutne u primarnom ključu. |
Raspon | Svaki redak u tablici relacijske baze podataka može imati samo jedan primarni ključ. | Tablica relacijske baze podataka može imati više stranih ključeva. |
Grupirani indeks | Primarni ključevi prema zadanim postavkama imaju grupirani indeks. | Strani ključevi nemaju grupirani indeks. |
brisanje | Kada se vrijednost želi izbrisati, potrebno je osigurati da vrijednost još uvijek nije prisutna u referentnoj tablici stranih ključeva. | Kada se vrijednost želi izbrisati, to se lako može učiniti iz stranih ključeva. |
Privremeni stolovi | Primarni ključevi mogu se definirati na privremenoj tablici. | Strani ključevi ne mogu se definirati na privremenoj tablici. |
Što je primarni ključ?
Primarni ključ odnosi se na određeni izbor stupaca koji jedinstveno određuje skup redaka u tablici. Primarni ključ je jedan atribut koji ima jedinstveni ID i također se smatra kandidatskim ključem.
Vrijednost primarnog ključa nikada ne smije varirati niti se mijenjati jer primarni ključ karakterizira važnost u baza podataka. Stoga bi promjena vrijednosti rezultirala velikom zabunom.
Primarni ključ je klasterski indeksiran, što znači da su svi reci tablice poredani. Primarni ključ je uglavnom definiran na privremenoj tablici.
Što je vanjski ključ?
Strani ključ odnosi se na stupac u tablici baze podataka koji pruža vezu između dvije tablice. Kada tablica 1 ima primarni ključ tablice 2, ovaj atribut je strani ključ.
Za razliku od primarnih ključeva, strani ključevi mogu sadržavati nulte vrijednosti jer ne pomažu u identificiranju razlike u relaciji jer su primarni ključevi već obavili ovaj dio posla. Strani ključevi također mogu prihvatiti duplicirane vrijednosti, za razliku od primarnog ključa i mogu imati mnogo ili više stranih ključeva u bazi podataka, budući da strani ključevi mogu imati različite atribute.
Strani ključevi ne mogu se definirati na privremenoj tablici. Prilikom dodavanja vrijednosti u stupac stranog ključa, mora se osigurati da je dogovor prisutan u primarnom ključu i da nema ograničenja pri brisanju vrijednosti iz stranog ključa.
Glavne razlike između primarnog i stranog ključa
- Primarni ključevi nemojte dopustiti da dva retka u tablici baze podataka imaju dvostruke vrijednosti. Strani ključevi dopustiti da dva retka u tablici baze podataka imaju duplicirane vrijednosti.
- U atributu od primarni ključevi, vrijednosti se mogu umetnuti u tablicu čak i ako strani ključ nema tu vrijednost u svom stupcu. u strani ključevi atribut, popusti se ne mogu umetnuti u tablicu ako vrijednosti nisu u bazi podataka primarnog ključa.
- A Osnovni ključ atribut može imati samo jedan raspon primarnih ključeva u svojoj tablici. A strani kljuc atribut može imati mnogo stranih ključeva u svojoj tablici.
- Primarni ključevi imaju klasterirani indeks, što znači da su svi redovi u relaciji baze podataka sortirani. Strani ključevi nemaju automatski klasterirani indeks, ali se mogu napraviti ručno.
- Pod primarni ključevi, vrijednost se može izbrisati iz referentne tablice osiguravajući da posao nije prisutan u referentnoj tablici stranog ključa. Pod stranim ključevima, vrijednosti se mogu brisati bez problema budući da nije bitno je li vrijednost još uvijek aktualna u referentnoj tablici primarnih ključeva.
- Primarni ključevi može se odrediti na privremenoj tablici. Strani ključevi ne može se odrediti ili provesti na privremenoj tablici.
- https://dl.acm.org/doi/abs/10.14778/1920841.1920944?casa_token=HgKaHPnYA9oAAAAA:_NYpWs4jzN-BI4lT9bWA73EPTvOBtYxJzXB7RpKVXGvZRc0htXpsv742IQMGSsjiuA1f_E_80IN18O0
- https://ieeexplore.ieee.org/abstract/document/994756/
Zadnje ažuriranje: 11. lipnja 2023
Sandeep Bhandari ima diplomu inženjera računala na Sveučilištu Thapar (2006.). Ima 20 godina iskustva u području tehnologije. Ima veliki interes za razna tehnička područja, uključujući sustave baza podataka, računalne mreže i programiranje. Više o njemu možete pročitati na njegovom bio stranica.
Posebno je korisna usporedna tablica. Pruža jasan i jezgrovit sažetak kontrastnih karakteristika primarnih ključeva i stranih ključeva.
Ovom članku nedostaje detaljno objašnjenje primarnih i stranih ključeva. Ne rješava određene napredne operacije upita baze podataka koje uključuju ove ključeve.
Vidim da članak dobro utvrđuje da primarni ključevi osiguravaju jedinstvenost u tablici baze podataka tako što ne dopuštaju dvostruke vrijednosti.
Autor bi se mogao upustiti u opsežniju analizu specifičnih primjena primarnih i stranih ključeva u različitim industrijskim okruženjima.
Ne slažem se. Tablica baze podataka može biti tablica relacijske baze podataka bez primarnog ključa. Smatra se da je to loša praksa, ali ne i nemoguća.
Autor slabo razumije ulogu primarnih ključeva. Činjenica da njihove vrijednosti ne treba mijenjati potpuno je pogrešna. Mogu se ažurirati kada je to potrebno.
Ovaj članak dobro objašnjava važnost primarnog ključa i stranog ključa u DBMS-u. To su neizostavne komponente arhitekture baze podataka koje osiguravaju pouzdanost podataka.
Autor radi sjajan posao u isticanju razlika između primarnih ključeva i stranih ključeva i njihovog značaja unutar baze podataka. Vrlo informativno.
Vjerujem da ovaj članak čini dobar posao pojednostavljivanja koncepta primarnih i stranih ključeva. Donosi neke pronicljive točke.
Sustavi za upravljanje bazama podataka su krvotok organizacija. Pomažu u organiziranju i isporuci ključnih podataka na učinkovit i pouzdan način.