Ključevi su temeljni elementi relacijske baze podataka jer uspostavljaju odnos između par tablica i osiguravaju da je svaki zapis u tablici jedinstveno identificiran. Ključevi imaju poseban značaj od uspostavljanja odnosa; oni također pomažu u referentnom integritetu i oni su glavna komponenta integriteta na razini tablice. Tablice pohranjuju u njih ogromne dijelove podataka koji se obično protežu na tisuće zapisa, od kojih su svi neortorizirani i neorganizirani. Dobivanje određenih podataka iz tih brojnih zapisa može biti ponekad teško ili ponekad nemoguće. Ovdje dolaze ključevi. Ovdje ćemo proučiti dva vrlo važna ključa sheme relacijskih baza podataka i razliku između njih: primarni ključ i strani ključ.
Primarni ključ je poseban ključ koji jedinstveno identificira svaki zapis u tablici. Vrlo je važno da u relacijskoj bazi podataka postoji jedinstveni identifikator u svakom retku tablice, a primarni ključ je samo stvar koju trebate jedinstveno identificirati sažeti unutar tablice. Tuple predstavlja skup atributa vrijednosti u relacijskoj bazi podataka. Primarni se ključ može odnositi na stupac ili skup stupaca u tablici relacijske baze podataka koji se koriste za implicitno prepoznavanje svih zapisa u tablici. Primarni ključ mora biti jedinstven za svaki zapis jer djeluje kao jedinstveni identifikator i ne smije sadržavati null vrijednosti. Svaka baza podataka mora imati jedan i samo jedan primarni ključ.
Strani ključ odnosi se na polje ili zbirku polja u zapisu baze podataka koji jedinstveno identificira ključno polje drugog zapisa baze podataka u nekoj drugoj tablici. Jednostavno rečeno, uspostavlja vezu između zapisa u dvije različite tablice u bazi podataka. To može biti stupac u tablici koji upućuje na stupce primarnog ključa što znači da se strani ključ definiran u tablici odnosi na primarni ključ neke druge tablice. U relacijskim bazama podataka ključne su reference za uspostavljanje veza između zapisa što je bitno za razvrstavanje baza podataka. Strani ključevi igraju važnu ulogu u normalizaciji relacijske baze podataka, posebno kada tablice trebaju pristupiti drugim tablicama.
Primarni ključ je poseban ključ u relacijskoj bazi podataka koji djeluje kao jedinstveni identifikator za svaki zapis što znači da jedinstveno identificira svaki red / zapis u tablici, a njegova vrijednost treba biti jedinstvena za svaki red tablice. Strani ključ, s druge strane, je polje u jednoj tablici koje povezuje dvije tablice. Odnosi se na stupac ili grupu stupaca koji jedinstveno identificiraju red druge tablice ili iste tablice.
Primarni ključ jedinstveno identificira zapis u tablici relacijske baze podataka, dok se strani ključ odnosi na polje u tablici koje je primarni ključ druge tablice. Primarni ključ mora biti jedinstven i samo jedan primarni ključ je dopušten u tablici koja mora biti definirana, dok je više od jednog stranog ključa dopušteno u tablici.
Primarni ključ je kombinacija UNIQUE i Not Null ograničenja, tako da ne mogu biti dopuštene duplicirane vrijednosti u polju primarnog ključa u tablici relacijske baze podataka. Nisu dopuštena dva retka da nose duple vrijednosti za atribut primarnog ključa. Za razliku od primarnog ključa, strani ključ može sadržavati duplicirane vrijednosti, a tablica u relacijskoj bazi podataka može sadržavati više od inozemnog ključa.
Jedna od glavnih razlika između njih dvojice je da strani ključevi mogu sadržavati i NULL vrijednosti za razliku od primarnih ključeva. Tablica u relacijskoj bazi podataka može imati samo jedan primarni ključ koji ne dopušta NULL vrijednosti.
Ograničenje primarnog ključa može se implicitno definirati na privremenim tablicama i njihovim varijablama, dok se ograničenje stranog ključa ne može primijeniti na lokalne ili globalne privremene tablice.
Vrijednost primarnog ključa ne može se izbrisati iz nadređene tablice koja se u podređenoj tablici naziva stranim ključem. Prije uklanjanja roditeljske tablice prvo morate izbrisati podređenu tablicu. Suprotno tome, vrijednost stranog ključa može se izbrisati iz podređene tablice, čak i ako se vrijednost odnosi na primarni ključ nadređene tablice..
Ključevi igraju ključnu ulogu u postojanju sheme baze podataka za uspostavljanje veza između tablica i unutar tablice. Ključevi uspostavljaju odnose i nameću različite vrste integriteta, posebno na razini tablice i integriteta na razini odnosa. Za jednu, oni osiguravaju da tablica sadrži jedinstvene zapise, a polja koja koristite za uspostavljanje odnosa između tablica moraju sadržavati podudarne vrijednosti. Primarni i strani ključ su dvije najvažnije i uobičajene vrste ključeva koji se koriste u relacijskim bazama podataka. Primarni ključ je poseban ključ koji se koristi za jedinstvenu identifikaciju zapisa u tablici, dok se strani ključ koristi za uspostavljanje odnosa između dvije tablice. Oboje su identične strukture, ali igraju različite uloge u shemi relacijskih baza podataka.