Razlika između primarnog i inostranog ključa

U relacijskom sustavu za upravljanje bazama podataka (RDBMS) podaci se pohranjuju u tablicama. Kako se ogromna količina podataka pohranjuje u tablicama, uvijek postoji mogućnost da podaci mogu postati neorganizirani ili da sadrže duplikate. Također kad trebamo dohvatiti podatke prema našem zahtjevu iz tih ogromnih podataka, zadatak postaje težak. Koncept Key koristi se u RDBMS-u za prepoznavanje zapisa u tablici iz tisuća redaka podataka. Također, upotreba tipki Key pomaže u uspostavljanju odnosa između tablica, tako da se podaci mogu prenijeti iz različitih tablica. Dakle, ključ u sustavu za upravljanje relacijskim bazama podataka održava integritet na razini tablice, kao i referentni integritet. U ovom ćemo članku detaljno istražiti razliku između primarnog i inostranog ključa.

Primarni ključ u tablici jedinstveno identificira zapise, a strani ključ odnosi se na primarni ključ druge tablice. Uzmimo za primjer dvije tablice: tablice zaposlenika i plaće kako bismo razumjeli koncepte primarnog i stranog ključa. Ako tablica zaposlenika ima primarni ključ kao Employee_ID, tada stupac Employee_ID mora biti prisutan u tablici plaće jer mora imati odnos između ove dvije tablice tako što u tablici plaće ima inozemni ključ koji se može odnositi na primarni ključ stola zaposlenika.

Usporedba između primarnog i stranog ključa (infografika)

Ispod je top 6 razlike između primarnog i stranog ključa:

Ključne razlike između primarnog i inozemnog ključa

Raspravimo o nekim glavnim ključnim razlikama između primarnog i inozemnog ključa:

  • Primarni ključ identificira zapise u tablici jedinstveno dok se strani ključ koristi za povezivanje tablica, tj. Odnosi se na primarni ključ druge tablice.
  • Stupac Primarni ključ u tablici ne može imati Null vrijednosti i uvijek treba imati jedinstvene vrijednosti. Ali, inozemni ključ u tablici može sadržavati nulte vrijednosti i također može imati duplicirane vrijednosti.
  • Tablica može imati samo jedan primarni ključ dok za tablicu može biti više inozemnih ključeva.
  • Indeks se automatski stvara za primarni ključ, dok se za vanjski ključ indeksi ne stvaraju automatski.
  • Ograničenje stranog ključa lako je izbrisati iako se odnosi na primarni ključ. Ali brisanje ograničenja primarnog ključa može stvoriti zapise sa podređenim zapisima koji nemaju zapis roditelja.

Tabela usporedbe primarnog i inozemnog ključa

Donja tablica sažima usporedbe između primarnog i inozemnog ključa:

Osnovni ključStrani kljuc
Primarni ključ tablice u RDBMS-u može biti jedan stupac ili može sadržavati više od jednog stupca koji se koristi za jedinstvenu identifikaciju svakog retka u tablici. U slučaju da se primarni ključ sastoji od više stupaca, podaci iz svakog stupca koriste se za odlučivanje o jedinstvenosti retka. Tablica u RDMBS može imati samo jedan primarni ključ.Strani ključ može biti jedan stupac ili se može sastojati od više stupaca u tablici koji se koriste za upućivanje na primarni ključ druge tablice. Strani ključ se može koristiti za povezivanje tablica u RDBMS. Za razliku od atributa Primarni ključ, tablica u RDBMS-u može imati više stranih ključeva.
Postoji nekoliko uvjeta koji bi trebali biti ispunjeni da bi stupac bio primarni ključ u tablici. Jedan od uvjeta je da primarni ključ treba sadržavati jedinstvenu vrijednost za svaki zapis. Dakle, tablici u RDBMS-u ne može se dopustiti da ima dvostruke vrijednosti za dva reda za atribut Primarni ključ.Za razliku od primarnog ključa tablice u RDBMS-u, strani ključ može sadržavati duplicirane vrijednosti. To omogućava da se za atribute stranog ključa imaju dvostruke vrijednosti za retke tablice.
Drugi uvjet stupca koji zadovoljava primarnim ključem je da ne bi trebao sadržavati null vrijednosti.No, vanjski ključ tablice u RDBMS-u može sadržavati null vrijednosti.
Primarni ključ specificiran je tijekom definiranja tablice, a obvezan je definirati primarni ključ.Za razliku od primarnog ključa, ne postoji posebna definicija tablice koja bi označavala da ključ predstavlja strani ključ.
Ograničenje primarnog ključa nije moguće izbrisati iz roditeljske tablice s vanjskim ključem dječje tablice koji se odnosi na njega. Dakle, Dječju tablicu prvo treba izbrisati prije brisanja nadređene tablice.Ali ako trebamo izbrisati ograničenje stranog ključa u tablici, možemo ga izbrisati iz podređene tablice iako se odnosi na primarni ključ roditeljske tablice.

Primarni se ključ automatski indeksira, tj. Primarni se ključ pohranjuje u indeks tablice, a ovaj indeks pomaže u administriranju zahtjeva jedinstvenosti i zbog toga se strane vrijednosti ključa lako upućuju na odgovarajuće vrijednosti primarnog ključa.U slučaju stranog ključa, indeksi se ne stvaraju automatski, a obično ih definira administrator baze podataka.

Zaključak

Primarni i strani ključevi ne samo da implementiraju različite vrste integriteta, već i stvaraju odnose među tablicama. Primarni i strani ključevi također osiguravaju da stupci stvoreni za odnos moraju sadržavati podudarne vrijednosti i jedinstveni zapisi se održavaju u tablici. Relacijski sustav za upravljanje bazama podataka radi učinkovito zbog prisutnosti primarnog i stranog ključa.

Ograničenje primarnog ključa pomaže u automatskoj primjeni integriteta podataka jer sprječava umetanje ili ažuriranje duplikata retka podataka. Korištenjem ključnih ograničenja sprječava se brisanje retka iz tablice primarnog ključa iz nadređene tablice, tako da se ne stvaraju takvi podređeni zapisi za koje ne postoji roditeljski zapis. Također kada se redak koji se odnosi na primarni ključ izbriše ili ažurira u nadređenoj tablici, vanjski ključ održava referentni integritet. Ključevi imaju vitalnu ulogu u uspostavljanju veza između tablica baze podataka, kao i unutar tablice.

Preporučeni članci

Ovo je vodič primarnog i inozemnog ključa. Ovdje smo raspravljali o razlikama između primarnog i inozemnog ključa s infografikom i usporednom tablicom. Možete i proći naše druge predložene članke da biste saznali više -

  1. WebLogic vs WebSphere
  2. ROLAP vs MOLAP vs HOLAP
  3. GoCD vs Jenkins
  4. Financiranje duga prema vlasničkom kapitalu

Kategorija: