Diferența cheie: o cheie primară nu poate permite nul și poate fi creată doar o singură dată într-un tabel. O cheie unică permite null și poate fi creată de mai multe ori într-un tabel. Cheile joacă un rol important atunci când vine vorba de stocarea și preluarea datelor.
Microsoft SQL este un sistem de gestionare a bazelor de date relaționale dezvoltat de Microsoft. Funcția sa principală include stocarea și preluarea datelor atunci când sunt solicitate de alte aplicații software care rulează pe același computer sau pe diferite computere dintr-o rețea.
Cheile joacă un rol important atunci când vine vorba de stocarea și preluarea datelor. Datele stocate pe server sunt o serie de tabele cu coloane. Aceste coloane stochează diferite tipuri de informații și pot fi recuperate utilizând instrucțiuni. Cheia primară și cheia unică sunt două tipuri de chei care determină modul în care datele sunt stocate în sistem.
Obiectele din baza de date SQL Server sunt organizate ca tabele și indexuri și stocate ca o colecție de pagini de 8 KB. Cheile vă ajută să determinați unde sunt stocate informațiile în baza de date. Ambele chei sunt diferite unul de celălalt. Cu toate acestea, o cheie primară este un tip de cheie unică. Ele sunt, de asemenea, similare în funcții, dar oferă funcționalități diferite.
Cheile primare sunt definite prin constrângerea PRIMARY KEY și pot fi specificate în timpul creării tabelului. În standardul SQL, cheile primare pot consta într-una sau mai multe coloane. Fiecare coloană care participă la cheia primară este definită implicit ca NOT NULL. O cheie primară oferă 3 funcții principale:
Fiecare tabel nu poate avea mai mult de o cheie primară.
În unele sisteme de baze de date, o cheie primară creează în mod implicit un index grupat.
Cheile unice sunt similare cheilor primare și pot fi definite în timpul creării tabelului. Cheile unice permit, de asemenea, ca datele sau rândurile să nu fie repetate în nici un alt tabel. Cele 3 caracteristici principale pe care le oferă o cheie unică includ:
O cheie unică poate permite null, dar numai una (o cheie unică poate fi definită pe coloane care permit nulls.)
Fiecare tabel poate avea mai multe chei unice.
În unele sisteme de baze de date, o cheie unică creează un index nonclustered în mod implicit.
Comparație între cheia primară și cheia unică:
Cheia principala | Cheie unică | |
Definiție | Cheia primară este un tip de cheie unică. Aceasta este cheia care are permisiunea de a migra către alte entități pentru a defini relațiile care există între entități. | O cheie unică este un set de atribute zero, unul sau mai multe. Valoarea (valorile) acestor atribute trebuie să fie unice pentru fiecare tuplă (rând) dintr-o relație. Valoarea sau combinația de valori ale atributelor cheie unice pentru orice tuplă nu ar trebui să fie repetată pentru orice altă tuplă din acea relație. |
Folosit in | Sisteme de management baze de date relaționale, cum ar fi MySQL, Oracle etc. | Sisteme de management baze de date relaționale, cum ar fi MySQL, Oracle etc. |
Valori nula | Nu acceptă nici o valoare nulă | Acceptă numai o valoare nulă în tabel |
Tipul de index | Este un index în cluster și datele din tabela de baze de date sunt organizate fizic în secvența indexului cluster | Este un indice non-clustered unic |
Numărul de chei permis | Numai o cheie primară într-un tabel | Pot avea mai multe chei unice într-un tabel |
convertibil | Poate fi transformată într-o cheie străină într-o altă masă | Poate fi transformată într-o cheie străină într-o altă masă |