Primarni ključ naspram ključa kandidata
Iako se primarni ključ bira između ključeva kandidata, postoje neke razlike između primarnog ključa i ostalih ključeva kandidata, o čemu će se detaljno raspravljati u ovom članku. Projektiranje baze podataka jedna je od najvažnijih aktivnosti koju je potrebno poduzeti prilikom održavanja i pohrane podataka. Tijekom ovog procesa projektiranja moraju se kreirati različite tablice s mnogo odnosa. Kako bi se pristupilo tim tablicama u bazi podataka, koriste se različite vrste ključeva u modernim jezicima za projektiranje baza podataka kao što su MYSQL, MSAccess, SQLite itd. Od ovih ključeva, ključevi kandidata i primarni ključevi postali su bitni u praksi projektiranja baza podataka.
Što je ključ kandidata?
Ključ kandidata je jedan stupac ili skup stupaca u tablici baze podataka koji se može koristiti za jedinstvenu identifikaciju bilo kojeg zapisa baze podataka bez pozivanja na druge podatke. Svaka tablica baze podataka može imati jedan ili više ključeva kandidata. Skup ključeva kandidata može se stvoriti korištenjem funkcionalnih ovisnosti. Postoje neke važne značajke u ključu kandidata. Oni su;
• kandidatski ključevi trebaju biti jedinstveni unutar domene i ne smiju sadržavati NULL vrijednosti.
• ključ kandidata nikada se ne smije mijenjati i mora imati istu vrijednost za određeno pojavljivanje entiteta.
Glavna svrha ključa kandidata je pomoći identificirati jedan jedini red od milijuna redaka u velikoj tablici. Svaki ključ kandidata je kvalificiran da postane primarni ključ. Međutim, od svih ključeva kandidata, najvažniji i posebni ključ kandidata postat će primarni ključ tablice i on je najbolji među ključevima kandidata.
Što je primarni ključ?
Primarni ključ je najbolji kandidat za ključ tablice koji se koristi za jedinstvenu identifikaciju zapisa koji su pohranjeni u tablici. Prilikom stvaranja nove tablice u bazi podataka od nas se traži da odaberemo primarni ključ. Stoga je odabir primarnog ključa za tablicu najkritičnija odluka koju treba donijeti dizajner baze podataka. Najvažnije ograničenje, koje treba uzeti u obzir prilikom odlučivanja o primarnom ključu, jest da odabrani stupac tablice treba sadržavati samo jedinstvene vrijednosti i ne smije sadržavati nikakve NULL vrijednosti. Neki od primarnih ključeva koji se obično koriste pri dizajniranju tablica su broj socijalnog osiguranja (SSN), ID i broj nacionalne osobne iskaznice (NIC).
Programer bi se trebao sjetiti pažljivog odabira primarnog ključa jer ga je teško promijeniti. Prema tome, prema programerima, najbolja praksa stvaranja primarnog ključa je korištenje interno generiranog primarnog ključa kao što je Record ID kreiran tipom podataka AutoNumber MS Accessa. Ako pokušamo umetnuti zapis u tablicu s primarnim ključem koji duplicira postojeći zapis, umetanje neće uspjeti. Vrijednost primarnog ključa ne bi se trebala stalno mijenjati, stoga je važnije zadržati statički primarni ključ.
Primarni ključ je najbolji kandidatski ključ.
Koja je razlika između primarnog ključa i ključa kandidata?
• Ključ kandidata je stupac koji se kvalificira kao jedinstven, dok je primarni ključ stupac koji jedinstveno identificira zapis.
• Tablica bez ključeva kandidata ne predstavlja nikakvu relaciju.
• Može postojati mnogo ključeva kandidata za tablicu u bazi podataka, ali bi trebao postojati samo jedan primarni ključ za tablicu.
• Iako je primarni ključ jedan od ključeva kandidata, ponekad je jedini kandidat ključ.
• Nakon što je odabran primarni ključ, drugi kandidatski ključevi postaju jedinstveni ključevi.
• Praktički ključ kandidata može sadržavati NULL vrijednosti iako trenutno ne sadrži nikakvu vrijednost. Stoga, ključ kandidata nije kvalificiran za primarni ključ jer primarni ključ ne bi trebao sadržavati nikakve NULL vrijednosti.
• Također može biti moguće da ključevi kandidata, koji su trenutno jedinstveni, mogu sadržavati duplicirane vrijednosti koje diskvalificiraju ključ kandidata da postane primarni ključ.
Sažetak:
Primarni ključ naspram ključa kandidata
Ključ kandidata i primarni ključ ključni su ključevi koji se koriste u dizajniranju baza podataka kako bi se jedinstveno identificirali podaci u zapisu i uspostavili odnosi među tablicama baze podataka. Tablica treba sadržavati samo jedan primarni ključ i može sadržavati više od jednog ključa kandidata. Danas većina baza podataka može automatski generirati vlastiti primarni ključ. Stoga primarni ključ i kandidatski ključevi pružaju brojnu podršku sustavima za upravljanje bazama podataka.