Diferența dintre cheia primară și cheia externă

Cheile sunt elemente fundamentale ale bazei de date relaționale, deoarece acestea stabilesc o relație între o pereche de tabele și asigură că fiecare înregistrare dintr-un tabel este identificată în mod unic. Cheile au o semnificație mai specială decât stabilirea de relații; ele ajută, de asemenea, la integritatea referențială și reprezintă o componentă majoră a integrității la nivel de tabel. Tabelele stochează bucăți mari de date în ele, care de obicei se extind la mii de înregistrări, toate acestea fiind nesortate și dezorganizate. Preluarea unor date particulare din aceste numeroase înregistrări poate fi dificilă uneori sau uneori imposibilă. Aici găsim cheile. Aici vom studia cele două chei foarte importante ale schemei bazei de date relaționale și diferența dintre ele: Cheia primară și Cheia străină.

Ce este o cheie primară?

O cheie primară este o cheie specială care identifică în mod unic fiecare înregistrare într-un tabel. Este foarte important ca baza de date relațională să aibă un identificator unic în fiecare rând al unui tabel, iar cheia primară este doar lucrul de care aveți nevoie pentru a identifica în mod unic o tuplă într-un tabel. O tuplă reprezintă un set de atribute de valoare într-o bază de date relațională. O cheie primară se poate referi la o coloană sau la un set de coloane dintr-o tabelă de bază de date relațională utilizată pentru a identifica implicit toate înregistrările din tabel. Cheia primară trebuie să fie unică pentru fiecare înregistrare, deoarece acționează ca un identificator unic și nu trebuie să conțină valori Null. Fiecare bază de date trebuie să aibă o singură cheie primară.

Ce este o cheie străină?

O cheie străină se referă la un câmp sau o colecție de câmpuri dintr-o înregistrare de bază de date care identifică în mod unic un câmp-cheie al unei alte înregistrări de bază de date în alt tabel. În termeni simpli, stabilește o legătură între înregistrările din două tabele diferite într-o bază de date. Poate fi o coloană într-un tabel care indică coloanele cheie de bază, ceea ce înseamnă că o cheie străină definită într-o tabelă se referă la cheia primară a unui alt tabel. Referințele sunt esențiale în bazele de date relaționale pentru a stabili legături între înregistrări care sunt esențiale pentru sortarea bazelor de date. Cheile externe joacă un rol important în normalizarea bazei de date relaționale, mai ales atunci când tabelele trebuie să acceseze alte tabele.

Diferența dintre cheia primară și cheia externă

Elementele de bază ale cheii primare vs cheia străină

O cheie primară este o cheie specială într-o bază de date relațională care acționează ca un identificator unic pentru fiecare înregistrare, ceea ce înseamnă că identifică în mod unic fiecare rând / înregistrare dintr-un tabel, iar valoarea sa ar trebui să fie unică pentru fiecare rând din tabel. O cheie străină, pe de altă parte, este un câmp într-un singur tabel care leagă două mese împreună. Se referă la o coloană sau la un grup de coloane care identifică în mod unic un rând dintr-un alt tabel sau același tabel.

Relația dintre cheia primară și cheia externă

O cheie primară identifică în mod unic o înregistrare în tabela de baze de date relaționale, în timp ce o cheie străină se referă la câmp într-un tabel care este cheia primară a altui tabel. O cheie primară trebuie să fie unică și numai o cheie primară să fie permisă într-un tabel care trebuie definit, în timp ce mai mult de o cheie străină este permisă într-un tabel.

Valorile duplicate ale cheii primare vs cheia străină

O cheie primară este o combinație a constrângerilor UNIQUE și Not Null, astfel încât nu pot fi permise valori duplicate într-un câmp de cheie primară într-o tabelă de baze de date relaționale. Nici două rânduri nu au voie să poarte duplicate pentru un atribut cheie cheie. Spre deosebire de o cheie primară, cheia externă poate conține valori duplicate, iar un tabel dintr-o bază de date relațională poate conține mai mult decât cheia străină.

NULL de cheie primară vs cheie străină

Una dintre principalele diferențe dintre cele două este că, spre deosebire de cheile primare, cheile străine pot conține și valori NULL. Un tabel dintr-o bază de date relațională poate avea o singură cheie primară care nu permite valori NULL.

Tabelul temporar al cheii primare vs. cheia externă

O constrângere a cheii primare poate fi definită implicit pe tabelele temporare și variabilele lor, în timp ce o constrângere de cheie străină nu poate fi impusă pe tabele temporare locale sau globale.

Ștergerea cheii primare vs cheia străină

O valoare a cheii primare nu poate fi ștearsă din tabelul părinte care este denumit ca o cheie străină în tabela copilului. Trebuie să ștergeți mai întâi tabelul copil înainte de a elimina tabela parentală. Dimpotrivă, o valoare de cheie străină poate fi ștearsă din tabelul copil, chiar dacă valoarea se referă la cheia primară a tabelului părinte.

Cheia primară vs. cheia externă: Graficul comparației

Rezumatul cheilor străine cheie cheie străine

Cheile joacă un rol crucial în existența unei scheme de baze de date pentru a stabili legături între tabele și într-un tabel. Cheile stabilesc relații și aplică diferite tipuri de integritate, în special integritatea la nivel de tabel și de relaționare. Pentru unul, se asigură că tabela conține înregistrări unice, iar câmpurile pe care le folosiți pentru a stabili o relație între tabele trebuie să conțină valori potrivite. Cheia primară și cheia externă sunt cele două tipuri cele mai importante și comune de chei utilizate în bazele de date relaționale. O cheie primară este o cheie specială utilizată pentru a identifica în mod unic înregistrările într-un tabel, în timp ce o cheie străină este utilizată pentru a stabili relația între două tabele. Ambele sunt identice în structură, dar joacă roluri diferite în schema bazei de date relaționale.