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

Anonim

Cheia primară vs. cheia unică

O coloană sau un set de coloane care pot fi folosite pentru a identifica sau a accesa un rând sau un set de rânduri dintr- se numește o cheie. O cheie unică este o cheie care poate identifica în mod unic un rând dintr-un tabel în contextul bazelor de date relaționale. O cheie unică este formată dintr-o singură coloană sau dintr-un set de coloane. O cheie primară este, de asemenea, o combinație de coloane într-un tabel care identifică un rând unic. Dar este considerat un caz special al cheii unice.

Ce este unicul cheie?

Așa cum am menționat mai devreme, cheia unică este o singură coloană sau un set de coloane care pot identifica un rând într-un tabel. Deci, o cheie unică este constrânsă astfel încât nici două valori ale ei să nu fie egale. O proprietate importantă este faptul că cheile unice nu impun constrângerea NOT NULL. Deoarece NULL reprezintă lipsa unei valori, dacă două rânduri au NULL într-o coloană, atunci nu înseamnă că valorile sunt egale. Coloana definită ca o cheie unică permite doar o singură valoare NULL în acea coloană. Apoi, acest lucru poate fi folosit pentru a identifica acel rând unic. De exemplu, într-un tabel care conține informații despre student, ID-ul elevului poate fi definit ca o cheie unică. Deoarece nici doi studenți nu au același ID, identifică în mod unic un singur student. Deci, coloana ID student satisface toate proprietățile unei chei unice. În funcție de proiectarea unei baze de date, un tabel poate avea mai multe chei unice.

Ce este cheia primară?

Cheia primară este, de asemenea, 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 numărul de securitate socială sau ar putea fi o valoare unică generată de sistemul de gestionare a bazei de date, cum ar fi un identificator global unic (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.

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

Chiar dacă cheia primară și cheia unică sunt una sau mai multe coloane care pot identifica în mod unic un rând într-un tabel, ele au unele diferențe importante. Cel mai important, o tabelă poate avea doar o singură cheie primară în timp ce poate avea mai multe chei unice.Cheia primară poate fi considerată un caz special al cheii unice. O altă diferență este că cheile primare au o constrângere implicită NOT NULL, în timp ce cheia unică nu are acea constrângere. Prin urmare, coloanele cheie unice pot sau nu să conțină valori NULL, dar coloanele cheie primare nu pot conține valori NULL.