logo

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

Cheile din MySQL sunt coloana sau setul de coloane folosite pentru a construi o relație între unul sau mai multe tabele. Ele sunt, de asemenea, folosite pentru accesarea înregistrărilor din tabel. Ambele chei oferă o unicitate garantată pentru o coloană sau un set de coloane dintr-un tabel sau o relație. Principala diferență dintre ele este că cheia primară identifică fiecare înregistrare din tabel, iar cheia unică previne intrările duplicate într-o coloană, cu excepția unei valori NULL . În acest articol, vom compara diferențele esențiale dintre cheile primare și unice pe baza diferiților parametri. Înainte de a face o comparație, vom discuta pe scurt aceste chei.

cum se convertesc șir în char
Cheie primară vs cheie unică

Ce este cheia primară?

Cheia primară este a unice sau nenule cheie care identifică în mod unic fiecare înregistrare din acel tabel sau relație. Coloana cheie primară nu poate stoca valori duplicate, ceea ce înseamnă că valorile coloanei cheie primară sunt întotdeauna unice. Se mai numește și a super-cheie minimă ; prin urmare, nu putem specifica mai mult de o cheie primară în orice relație. O coloană cheie primară a unui tabel poate fi referită printr-o coloană cheie externă a altui tabel.

De exemplu , avem un tabel numit elevi cu atribute precum Stud_ID, Roll_No, Name, Mobile și Email.

Cheie primară vs cheie unică

Aici doar Rola numărul coloana nu poate conține niciodată o valoare identică și NULL. Știm că fiecare elev are un număr de rol unic. Prin urmare, doi elevi nu pot avea niciodată același număr de rolă. Această caracteristică ajută la identificarea fiecărei înregistrări din baza de date în mod unic. Prin urmare, putem face din atributul Roll_No o cheie primară.

Caracteristicile cheii primare

Următoarele sunt caracteristicile principale esențiale:

  • Coloana cheii primare nu poate conține valori duplicate.
  • Cheia primară implementează integritatea entității a tabelului.
  • Un tabel nu poate avea mai mult de o coloană de cheie primară.
  • Putem face cheia primară din unul sau mai multe câmpuri de tabel.
  • Coloana cheii primare ar trebui să aibă constrângeri NOT NULL.

Ce este o cheie unică?

The cheie unică este o singură coloană sau o combinație de coloane într-un tabel pentru a identifica în mod unic înregistrările bazei de date. O cheie unică previne de la depozitare valori duplicate în coloană. Un tabel poate conține mai multe coloane de cheie unică, spre deosebire de o coloană de cheie primară. Această cheie este similară cu cheia primară, cu excepția faptului că o valoare NULL poate fi stocată în coloana cheii unice. Se mai numește cheia unică constrângeri unice și poate fi referit prin cheia externă a altui tabel.

adăugarea la matrice java

De exemplu , să considerăm același tabel numit elevi cu atribute precum Stud_ID, Roll_No, Name, Mobile și Email.

Cheie primară vs cheie unică

Aici Stud_ID poate fi atribuit ca o constrângere unică deoarece fiecare elev trebuie să aibă un număr unic de identificare. Dacă un student își schimbă facultatea, atunci el sau ea nu ar avea niciun act de identitate de student. În acest caz, înregistrarea poate conține a NUL valoare deoarece o constrângere de cheie unică permite stocarea NULL, dar ar trebui să fie doar una.

Caracteristicile cheii unice

Următoarele sunt caracteristicile cheie unice esențiale:

  • Putem construi cheia unică din unul sau mai multe câmpuri de tabel.
  • Un tabel poate defini mai multe coloane cheie unice.
  • În mod implicit, o cheie unică se află în indecși unici non-cluster.
  • Coloana de constrângere unică poate stoca valoarea NULL, dar este permis un singur NULL pe coloană.
  • Cheia externă poate face referire la constrângerea unică în păstrarea unicității unui tabel.

Diferențele cheie între cheia principală și cheia unică

Următoarele puncte explică diferențele cheie dintre cheile primare și cele candidate:

  • O cheie primară poate constitui unul sau mai multe câmpuri ale unui tabel pentru a identifica în mod unic înregistrările dintr-un tabel. Pe de altă parte, o cheie unică împiedică două rânduri să aibă intrări duplicate într-o coloană.
  • Un tabel nu poate avea mai mult de o cheie primară într-o bază de date relațională, în timp ce pot exista mai multe chei unice per tabel.
  • O coloană de cheie primară nu poate conține valori NULL, în timp ce o cheie unică poate avea valori NULL, dar este permis un singur NULL într-un tabel.
  • O cheie primară ar trebui să fie unică, dar o cheie unică nu poate fi neapărat cheia primară.
  • Cheia primară în mod implicit este un index grupat în care datele sunt organizate fizic în indexul secvenţial. În schimb, cheia unică este un index unic non-cluster.
  • Cheia primară implementează integritatea entității, în timp ce cheia unică impune date unice.

Tabel de comparație cheie primară vs. cheie unică

Următorul grafic de comparație explică principalele diferențe ale acestora într-un mod rapid:

Baza de comparație Cheia principala Cheie unică
De bază Cheia primară este utilizată ca un identificator unic pentru fiecare înregistrare din tabel. Cheia unică este, de asemenea, un identificator unic pentru înregistrări atunci când cheia primară nu este prezentă în tabel.
NUL Nu putem stoca valori NULL în coloana cheii primare. Putem stoca valoarea NULL în coloana cheie unică, dar este permis un singur NULL.
Scop Implementează integritatea entității. Implementează date unice.
Index Cheia primară, implicit, creează un index grupat. Cheia unică, implicit, creează un index non-cluster.
Numărul cheii Fiecare tabel acceptă o singură cheie primară. Un tabel poate avea mai multe chei unice.
Modificarea valorii Nu putem modifica sau șterge valorile cheii primare. Putem modifica valorile unice ale coloanei cheie.
Utilizări Este folosit pentru a identifica fiecare înregistrare din tabel. Împiedică stocarea intrărilor duplicate într-o coloană, cu excepția unei valori NULL.
Sintaxă Putem crea o coloană cheie primară în tabel folosind sintaxa de mai jos:
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
Putem crea o coloană cheie unică în tabel folosind sintaxa de mai jos:
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Concluzie

În acest articol, am făcut o comparație între cheia primară și constrângerile cheii unice. Aici am ajuns la concluzia că o cheie unică este utilă atunci când dorim ca coloanele să nu conțină valori duplicate. Și cheia primară este utilă atunci când nu dorim să păstrăm valoarea NULL în tabel. Poate fi ideal și atunci când avem o cheie străină într-un alt tabel pentru a crea o relație între tabele.

bash for loop