logo

Vrste ključev v relacijskem modelu (kandidat, super, primarni, nadomestni in tuji)

Ključi so ena od osnovnih zahtev modela relacijske baze podatkov. Široko se uporablja za edinstveno identifikacijo tulp (vrstic) v tabeli. Ključe uporabljamo tudi za nastavitev relacij med različnimi stolpci in tabelami relacijske baze podatkov.

Različne vrste ključev baze podatkov

  • Ključ kandidata
  • Primarni ključ
  • Super ključ
  • Nadomestni ključ
  • Tuji ključ
  • Sestavljeni ključ

Ključ kandidata

Minimalni nabor atributov, ki lahko enolično identificirajo tuple, je znan kot kandidatni ključ. Na primer STUD_NO v relaciji STUDENT.



  • Je minimalen super ključ.
  • To je super ključ brez ponovljenih podatkov, ki se imenuje kandidatni ključ.
  • Najmanjši nabor atributov, ki lahko enolično identificirajo zapis.
  • Vsebovati mora edinstvene vrednosti.
  • Vsebuje lahko vrednosti NULL.
  • Vsaka tabela mora imeti vsaj en kandidatni ključ.
  • Tabela ima lahko več kandidatnih ključev, vendar le en primarni ključ.
  • Vrednost ključa kandidata je edinstvena in je lahko ničelna za torko.
  • V razmerju je lahko več kot en kandidatni ključ.

primer:

primer java lambda
 STUD_NO is the candidate key for relation STUDENT.>

Tabela ŠTUDENT

STUD_ŠT SNAME NASLOV TELEFON
1 Shyam Delhi 123456789
2 Rakesh Kolkata 223365796
3 Suraj Delhi 175468965
  • Ključ kandidata je lahko preprost (ima samo en atribut) ali tudi sestavljen.

primer:



 {STUD_NO, COURSE_NO} is a composite   candidate key for relation STUDENT_COURSE.>

Tabela STUDENT_COURSE

STUD_ŠT UČITELJ_ŠT TEČAJ_ŠT
1 001 C001
2 056 C005

Opomba: noter SQL Strežnik edinstveno omejitev, ki ima ničelni stolpec, dovoljuje vrednost ' nič « v tem stolpcu Samo enkrat . Zato je atribut STUD_PHONE tukaj kandidat, vendar ne more biti ničelna vrednost v atributu primarnega ključa.

Primarni ključ

Obstaja lahko več kot en kandidatni ključ, v zvezi s katerim se enega lahko izbere kot primarni ključ. Na primer, STUD_NO in STUD_PHONE sta kandidatna ključa za relacijo STUDENT, STUD_NO pa lahko izberete kot primarni ključ (samo eden izmed številnih možnih ključev).



  • Je edinstven ključ.
  • Identificira lahko le eno torko (zapis) naenkrat.
  • Nima podvojenih vrednosti, ima edinstvene vrednosti.
  • Ne more biti NULL.
  • Ni nujno, da so primarni ključi en sam stolpec; več kot en stolpec je lahko tudi primarni ključ za tabelo.

primer:

STUDENT table ->Študent(STUD_NO, IME, ADDRESS, PHONE) , STUD_NO je primarni ključ>>> 

Tabela ŠTUDENT

STUD_ŠT SNAME NASLOV TELEFON
1 Shyam Delhi 123456789
2 Rakesh Kolkata 223365796
3 Suraj Delhi 175468965

Super ključ

Niz atributov, ki lahko enolično identificirajo tuple, je znan kot Super Key. Na primer STUD_NO, (STUD_NO, STUD_NAME) itd. Super ključ je skupina enega ali več ključev, ki identificira vrstice v tabeli. Podpira vrednosti NULL.

  • Če kandidatskemu ključu dodate nič ali več atributov, ustvarite super ključ.
  • Ključ kandidata je super ključ, vendar obratno ne drži.
  • Vrednosti Super Key so lahko tudi NULL.

primer:

Razmerje med primarnim ključem, ključem kandidata in super ključem

Nadomestni ključ

Ključ kandidata, ki ni primarni ključ, se imenuje an nadomestni ključ .

npr. uporabniško ime
  • Vsi ključi, ki niso primarni ključi, se imenujejo nadomestni ključi.
  • Je sekundarni ključ.
  • Vsebuje dve ali več polj za identifikacijo dveh ali več zapisov.
  • Te vrednosti se ponavljajo.
  • Npr.:- IME in ADDRESS sta nadomestna ključa

primer:

Consider the table shown above. STUD_NO, as well as PHONE both,  are candidate keys for relation STUDENT but  PHONE will be an alternate key  (only one out of many candidate keys).>
Primarni ključ, kandidatni ključ in nadomestni ključ

Primarni ključ, kandidatni ključ in nadomestni ključ

Tuji ključ

Če lahko atribut sprejme samo vrednosti, ki so prisotne kot vrednosti nekega drugega atributa, bo a tuji ključ na atribut, na katerega se nanaša. Relacija, na katero se sklicuje, se imenuje referenčna relacija, ustrezen atribut pa referenčni atribut. Referenčni atribut referenčne relacije bi moral biti njen primarni ključ.

primer formata json
  • To je ključ, ki deluje kot primarni ključ v eni tabeli in deluje kot
    sekundarni ključ v drugi tabeli.
  • Kombinira dve ali več relacij (tabel) hkrati.
  • Delujejo kot navzkrižno sklicevanje med tabelami.
  • Na primer, DNO je primarni ključ v tabeli DEPT in ne-ključ v EMP

primer:

 Refer Table STUDENT shown above.  STUD_NO in STUDENT_COURSE is a   foreign key to STUD_NO in STUDENT relation.>

Tabela STUDENT_COURSE

STUD_ŠT UČITELJ_ŠT TEČAJ_ŠT
1 005 C001
2 056 C005

Morda je vredno omeniti, da je za razliko od primarnega ključa katere koli dane relacije tuji ključ lahko NULL in lahko vsebuje podvojene tuple, kar pomeni, da mu ni treba slediti omejitvi edinstvenosti. Na primer STUD_NO v relaciji STUDENT_COURSE ni edinstven. Ponovljeno je bilo za prvi in ​​tretji niz. Vendar pa je STUD_NO v relaciji STUDENT primarni ključ in mora biti vedno edinstven in ne more biti nič.

Razmerje med primarnim in tujim ključem

Razmerje med primarnim in tujim ključem

Sestavljeni ključ

Včasih tabela morda nima enega samega stolpca/atributa, ki enolično identificira vse zapise tabele. Za edinstveno identifikacijo vrstic tabele lahko uporabite kombinacijo dveh ali več stolpcev/atributov. V redkih primerih lahko še vedno daje podvojene vrednosti. Zato moramo poiskati optimalen niz atributov, ki lahko enolično identificirajo vrstice v tabeli.

pyspark sql
  • Deluje kot primarni ključ, če v tabeli ni primarnega ključa
  • Dva ali več atributov se uporabljata skupaj, da sestavi a sestavljeni ključ .
  • Različne kombinacije atributov lahko dajo različno natančnost v smislu edinstvene identifikacije vrstic.

primer:

FULLNAME + DOB can be combined  together to access the details of a student.>
Različne vrste ključev

Različne vrste ključev

Zaključek

Skratka, relacijski model uporablja številne ključe: kandidatni ključi omogočajo razločno identifikacijo, primarni ključ služi kot izbrani identifikator, nadomestni ključi ponujajo druge možnosti, tuji ključi pa ustvarjajo bistvene povezave, ki zagotavljajo celovitost podatkov med tabelami. Ustvarjanje močnih in učinkovitih relacijskih baz podatkov zahteva premišljeno uporabo teh ključev.

Pogosta vprašanja o vrstah ključev v relacijskem modelu

V.1: Zakaj so ključi potrebni za DBMS?

odgovor:

Ključi so eden od pomembnih vidikov DBMS. Ključi nam pomagajo enolično najti tuple (vrstice) v tabeli. Uporablja se tudi pri razvijanju različnih relacij med stolpci ali tabelami baze podatkov.

V.2: Kaj je edinstveni ključ?

odgovor:

Enolični ključi so ključi, ki enolično določajo zapis v tabeli. Razlikuje se od primarnih ključev, saj lahko enolični ključ vsebuje eno vrednost NULL, vendar primarni ključ ne vsebuje nobenih vrednosti NULL.

V.3: Kaj je umetni ključ?

odgovor:

Umetni ključi so ključi, ki se uporabljajo, kadar noben atribut ne vsebuje vseh lastnosti primarnega ključa ali če je primarni ključ zelo velik in zapleten.