ključna razlika između stranog i primarnog ključa je to strani ključ je stupac ili skup stupaca koji se odnose na primarni ključ ili kandidatski ključ druge tablice, dok je primarni ključ stupac ili skup stupaca koji se mogu koristiti za jedinstveno prepoznavanje retka u tablici.
Stupac ili skup stupaca pomoću kojih se može prepoznati ili pristupiti retku ili skupu redaka u bazi podataka naziva se ključem. Primarni ključ u relacijskoj bazi podataka je kombinacija stupaca u tablici koji jedinstveno identificiraju red tablice. Strani ključ u relacijskoj bazi podataka je polje u tablici koje odgovara primarnom ključu druge tablice. Strani ključ koristi se za križanje referentnih tablica.
1. Pregled i ključne razlike
2. Što je strani ključ
3. Što je primarni ključ
4. Usporedna usporedba - vanjski i primarni ključ u tabličnom obliku
5. Sažetak
Strani ključ je referentno ograničenje između dvije tablice. Identificira stupac ili skup stupaca u jednoj tablici, koji se naziva referentna tablica koja se odnosi na skup stupaca u drugoj tablici, a naziva se referentna tablica. Strani ključ ili stupci u referentnoj tablici moraju biti primarni ili kandidatski ključ (ključ koji se može koristiti kao primarni ključ) u referentnoj tablici. Nadalje, strani ključevi omogućuju povezivanje podataka u nekoliko tablica. Stoga strani ključ ne može sadržavati vrijednosti koje se ne pojavljuju u tablici na koju se odnosi. Tada referenca koju daje strani ključ pomaže u povezivanju informacija u nekoliko tablica, a to bi postalo neophodno kod normaliziranih baza podataka. Više redaka u referentnoj tablici može se odnositi na jedan red u referentnoj tablici.
Slika 01: Mapiranje stranih ključeva
U ANSI SQL standardu, ograničenje FOREIGN KEY definira strane ključeve. Nadalje, moguće je definirati strane ključeve prilikom izrade same tablice. Tablica može imati više stranih ključeva i mogu upućivati na različite tablice.
Primarni ključ je stupac ili kombinacija stupaca koji jedinstveno definira red u tablici relacijske baze podataka. Tablica može imati najviše jedan primarni ključ. Primarni ključ nameće implicitno ograničenje NOT NULL. Stoga, stupac s primarnim ključem ne može imati NULL vrijednosti u njemu. Primarni ključ može biti uobičajeni atribut u tablici za koji je zajamčeno da je jedinstven, poput broja socijalnog osiguranja, ili može biti jedinstvena vrijednost koju generira sustav upravljanja bazom podataka, kao što je globalno jedinstveni identifikator (GUID) u Microsoft SQL Serveru.
Slika 02: Primarni ključ
Nadalje, ograničenje PRIMARNI KLJUČ u ANSI SQL standardu definira primarne ključeve. Prilikom stvaranja tablice moguće je definirati i primarni ključ. Uz to, SQL omogućava da se primarni ključ sastoji od jednog ili više stupaca, a svaki stupac koji je uključen u primarni ključ implicitno je definiran da NIJE NULL. No neki sustavi za upravljanje bazama podataka izričito izrađuju stupce primarnog ključa NIJE NULL.
Strani ključ vs primarni ključ | |
Strani ključ je stupac ili grupa stupaca u tablici relacijske baze podataka koja pruža povezanost podataka u dvije tablice. | Primarni ključ je poseban stupac tablice relacijske baze podataka ili kombinacija više stupaca koji omogućava jedinstvenu identifikaciju svih zapisa tablice. |
NULL | |
Strani ključ prihvaća NULL vrijednost. | Vrijednost primarnog ključa ne može biti NULL. |
Broj ključeva | |
Tablica može imati više stranih ključeva. | Tablica može imati samo jedan primarni ključ. |
kopiranje | |
Tupleji mogu imati dvostruku vrijednost za atribut stranog ključa. | Dva skupa u odnosu ne mogu imati dvostruke vrijednosti za atribut primarnog ključa. |
Razlika između stranog i primarnog ključa je u tome što je strani ključ stupac ili skup stupaca koji se odnose na primarni ključ ili kandidatski ključ druge tablice, dok je primarni ključ stupac ili skup stupaca koji se mogu jedinstveno koristiti prepoznati red u tablici.
1. "Strani ključ." Wikipedia, Zaklada Wikimedia, 12. svibnja 2018. Dostupno ovdje
2. "Primarni ključ." Wikipedia, Zaklada Wikimedia, 3. travnja 2018. Dostupno ovdje
1. 'Mapiranje inozemnih ključeva' MovGP0 - Vlastiti rad, (CC BY-SA 3.0) putem Commons Wikimedia
2.'Erd-id-as-primarni ključ'U UniCollab - Vlastiti rad, (CC BY-SA 3.0) putem Commons Wikimedia