Diferența dintre cheia străină și cheia primară

Anonim

Cheie străină vs. cheie primară

O coloană sau un set de coloane care poate fi utilizat pentru a identifica sau a accesa un rând sau un set de rânduri într-o bază de date se numește o cheie. O cheie primară dintr-o bază de date relațională este o combinație de coloane într-un tabel care identifică în mod un rând un rând din tabel. Tasta străină într-o bază de date relațională este un câmp într-un tabel care se potrivește cu cheia primară a altui tabel. Cheia externă este folosită pentru a traversa tabelele de referință.

Ce este cheia primară?

Cheia primară este o coloană sau o combinație de coloane care definesc în mod unic un rând într-un tabel al unei baze de date relaționale. O tabelă poate avea cel mult o cheie primară. Cheia primară impune constrângerea implicită NOT NULL. Deci, o coloană care este definită ca cheia primară nu poate avea valori NULL în ea. Cheia primară poate fi un atribut normal în tabelul care este garantat a fi unic, cum ar fi un număr de securitate socială sau ar putea fi o valoare unică generată de sistemul de gestionare a bazei de date, cum ar fi un identificator universal global (GUID) în Microsoft SQL Server. Cheile primare sunt definite prin constrângerea PRIMARY KEY în ANSI SQL Standard. Cheia primară poate fi de asemenea definită la crearea tabelului. SQL permite ca cheia primară să fie alcătuită dintr-una sau mai multe coloane și fiecare coloană care este inclusă în cheia primară este definită implicit ca fiind NU NULL. Dar unele sisteme de gestionare a bazelor de date necesită ca coloanele primare să fie explicit NU.

Ce este cheia străină?

Cheia externă este o constrângere referențială între două tabele. Identifică o coloană sau un set de coloane într-un tabel, numit tabelul de referință care se referă la un set de coloane dintr-un alt tabel, numit tabelul referit. Cheia străină sau coloanele din tabela de referință trebuie să fie cheia primară sau o cheie candidată (o cheie care poate fi utilizată ca cheie primară) în tabelul referitor. Cheile externe sunt folosite pentru a lega date între mai multe tabele. Prin urmare, cheia externă nu poate conține valori care nu apar în tabelul la care se referă. Apoi, referința furnizată de cheia externă poate fi utilizată pentru a lega informații în mai multe tabele și acest lucru ar deveni esențial cu bazele de date normalizate. Rânduri multiple din tabela de referință se pot referi la un singur rând din tabelul referit. În standardul ANSI SQL, cheile externe sunt definite folosind constrângerea FOREIGN KEY. În plus, cheile străine pot fi definite la crearea mesei în sine. O tabelă poate avea mai multe chei externe și poate să facă referire la tabele diferite.

Care este diferența dintre cheia străină și cheia primară?

Diferența principală dintre cheia primară și cheia externă este aceea că cheia primară este o coloană sau un set de coloane care pot fi folosite pentru identificarea unică a unui rând într-un tabel, în timp ce cheia externă este o coloană sau un set de coloane care se referă la o cheie primară sau o cheie candidată a altui tabel.Cheia externă furnizează în principal o metodă de conectare a informațiilor în mai multe tabele. O altă diferență constă în faptul că o tabelă poate avea o singură cheie primară, însă poate avea mai multe chei externe care pot face referire la diferite tabele.