Cheia primară în baza de date SQL: ce este, avantaje și cum să alegeți

Publicat: 2021-05-25

Cuprins

Ce este o cheie primară?

Proiectarea unei noi baze de date în SQL vine cu partea sa de opțiuni inimitabile. Identificarea unei chei primare potrivite este una dintre cele mai critice decizii pe care va trebui să le iei. Obiectivul de bază al unei chei primare este simplu și direct.

O cheie primară joacă un rol fundamental în două direcții. În primul rând, ajută la definirea unei relații. În al doilea rând, ajută la implementarea acestei relații. Cu alte cuvinte, fără o cheie primară, bazele de date de relații nu ar exista. De înțeles, noțiunea de cheie primară sună neobișnuit.

Dar dacă ți-am spune că ai folosit cheile primare în viața de zi cu zi fără să-ți dai seama. În fiecare moment de trezire din zilele noastre, suntem literalmente înconjurați de chei primare într-o lume a bazelor de date și, totuși, le luăm de la sine înțeles. De exemplu, luați în considerare identitatea dvs. de student. Este un exemplu clasic al necesității unei chei primare. În mod similar, fiecare angajat are un cod unic de companie, iar fiecare țară din lume are un nume și un cod unic.

Citiți: Normalizare în SQL

Care sunt avantajele unei chei primare?

O cheie primară în SQL este definită ca o valoare singulară sau o combinație a câtorva valori dintr-un tabel. Reprezintă distinct fiecare înregistrare din tabel. Accesul la această valoare garantează accesul în timp util la plasarea unei înregistrări aferente în tabel, pe lângă alte valori din aceeași înregistrare. În acest moment, este posibil să aveți o întrebare importantă de ridicat. Este obligatoriu să generați o cheie primară în fiecare tabel? Absolut nu.

SQL nu necesită crearea unei chei primare. Cu toate acestea, cele mai bune și mai eficiente practici de modelare a bazelor de date recomandă cu tărie crearea unei chei primare pentru fiecare tabel în SQL. Pe lângă faptul că este un câmp comun de legătură între tabele, avantajele unei chei primare sunt multiple.

Lista de mai jos rezumă principalele avantaje ale unei chei primare:

  1. Deoarece cheia primară servește ca index, operațiunile de bază de date bazate pe viteză, cum ar fi sortarea și căutarea înregistrărilor, devin mai rapide.
  2. Cheia primară ajută la identificarea și găsirea rapidă a rândurilor unice într-un anumit tabel al bazei de date.
  3. În modul sigur, numai anumite înregistrări pot fi identificate în mod unic folosind cheia primară pentru a se asigura că actualizările și ștergerea afectează doar anumite rânduri, mai degrabă decât volume mai mari de date.
  4. Când sunt utilizate ca chei străine în alte tabele din baza de date, ele ajută la menținerea integrității referențiale.

Cum să alegi o cheie primară?

Tabelele cuprind obiectele principale dintr-o bază de date SQL. Aceste tabele stochează date ca înregistrări sau rânduri. Prin urmare, pentru a identifica fiecare rând al unui tabel, trebuie să găsim o coloană în același tabel cu o valoare de intrare diferită pentru fiecare rând. De exemplu, să presupunem că avem un tabel cu date despre fiecare cetățean american. O coloană cu numele „număr_securitate_socială” ar ajuta la distingerea unui rând de altul într-un astfel de tabel.

În mod similar, să luăm în considerare un alt exemplu. Să presupunem că avem un tabel de conturi de economii la o bancă privată. Coloana cu numele „număr_cont” poate fi utilizată pentru a identifica anumite rânduri din acest tabel în mod unic.

În ambele exemple, după ce ați identificat o coloană cu o valoare diferită pentru fiecare rând din tabel, adică „număr_securitate_socială” și „număr_cont”, vă puteți crea cheia primară. Această cheie primară va fi identificatorul dvs. principal pentru fiecare rând din tabel, pe baza coloanei specifice pe care ați identificat-o.

Semnul unui design de bază de date exemplar este astfel cheia primară în SQL. Prin urmare, este de la sine înțeles că o cheie primară aleasă trebuie să fie 100% unică și trebuie să existe o valoare unică a cheii primare pentru fiecare rând de date. De obicei, indivizii demonstrează o tendință de a se baza pe sistemul de management al bazei de date în sine pentru a genera un identificator unic.

Caracteristicile unei chei primare puternice sunt următoarele:

  1. O cheie primară puternică este de obicei scurtă, compactă și conține cele mai puține atribute posibile. Tipurile lungi de date și cheile compuse adaugă complexitate SQL. Lungimea unei chei primare nu trebuie să depășească 900 de octeți.
  2. Cheile primare care sunt în întregime numerice ajută la îmbunătățirea performanței interogărilor.
  3. Evitați utilizarea caracterelor speciale sau a unei combinații de litere mari și mici. Evitați să utilizați tipuri de date text, deoarece este nevoie de mult mai mult timp pentru SQL pentru a compara valorile șirurilor decât valorile numerice.
  4. Evitați informațiile de identificare din coloanele care nu sunt cheie din același rând, cum ar fi codurile poștale, adresele de e-mail și numerele de securitate socială. Dacă o cheie primară se bazează pe date din lumea reală, poate fi necesară modificarea la un moment dat în viitor, ceea ce este o practică de modelare nerecomandabilă. Dacă cheile primare sunt identificatori arbitrari, datele afișate utilizatorului se pot schimba ulterior, dar identificatorii nu trebuie.
  5. Valoarea cheii primare trebuie să rămână stabilă și să nu fie modificată.

Este imperativ să rețineți că cheile primare utilizează un mecanism tehnic pentru a se asigura că fiecare rând are o valoare unică, nevide în coloana cheii primare. Aceasta implică faptul că valoarea cheii primare a unei înregistrări nu poate fi nulă. În plus, să presupunem că încercați să inserați un nou cu o valoare a cărei duplicat poate fi găsit în coloana cheii primare. În acest caz, inserarea noului rând va fi respinsă de cheia primară.

Checkout: Idei și subiecte de proiecte SQL

Chei primare cu mai multe coloane

În unele cazuri, nu există o cheie primară naturală cu o singură coloană. Când sunt utilizate mai multe coloane pentru a defini o cheie primară, aceasta este cunoscută ca o cheie primară cu mai multe coloane sau compusă. De exemplu, să presupunem că avem un tabel „rezervare” cu coloane, „nume_client”, „ziua_rezervării”, „ora_rezervare” și „număr_de_persoane”.

Aici, „nume_client” nu poate fi folosit doar ca cheie principală, deoarece, desigur, clientul ar putea avea mai multe rezervări pentru zile diferite sau chiar pentru aceeași zi. Prin urmare, adăugăm „reservation_day” și „reservation_time” la cheia primară pentru a face combinația unică pentru fiecare valoare.

Această considerație nu trebuie să depășească mai mult de 32 de coloane. Cu cât este mai mare numărul de coloane, cu atât mai mare va fi necesarul de spațiu de stocare. Sintaxa pentru adăugarea unei chei primare cu mai multe coloane este diferită de adăugarea unei chei primare cu o singură coloană.

Învață cursuri de inginerie software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Rezumând

Ați apelat vreodată la asistența pentru clienți și vi s-a cerut numărul dvs. de client? S-ar putea să-l fi uitat chiar și atunci când îți cer codul poștal sau numărul de telefon.

Te-ai întrebat vreodată de ce? Ei bine, răspunsul scurt sunt cheile primare. Răspunsul lung este că avantajele unei chei primare sunt punctul de plecare al tuturor sistemelor de baze de date. Fără cheile primare, bazele de date nu ar funcționa așa cum funcționează acum sau, mai exact, nu ar funcționa deloc.

Dacă sunteți curios să aflați despre SQL, dezvoltarea full-stack, consultați Programul Executive PG al IIIT-B și upGrad în Dezvoltare software Full Stack, care este creat pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, ateliere practice practice, mentorat cu experți din industrie, 1-la-1 cu mentori din industrie, peste 400 de ore de învățare și asistență la locul de muncă cu firme de top.

Care sunt cheile primare în SQL?

Cheia primară este câmpul cu valori unice, care este folosit pentru a defini identitatea unei entități. Odată definită o cheie primară, aceasta nu poate fi ștearsă sau modificată. De fapt, cheia primară este o caracteristică specială a tabelului, care devine baza relațiilor dintre tabel. Cheia primară este întotdeauna definită în prima coloană a unui tabel, care nu poate fi modificată. Acesta deține un rol foarte important în structura logică și fizică a înregistrării datelor. Deoarece cheia primară este folosită pentru a identifica în mod unic înregistrările, acestea sunt numite chei candidate.

Care sunt caracteristicile unei chei primare în SQL?

Cheia primară este o coloană sau un grup de coloane care identifică în mod unic fiecare înregistrare dintr-un tabel. Un tabel poate avea o singură cheie primară. Pentru a menține integritatea, cheia primară este întotdeauna necesară. Cheia primară ar trebui să fie alcătuită dintr-o combinație de coloane care sunt diferite unele de altele. Dacă o cheie primară este formată dintr-o singură coloană, atunci este cunoscută ca o cheie primară simplă. Motorul bazei de date folosește cheia primară pentru a localiza și actualiza o înregistrare într-o bază de date. Cheia primară nu poate fi nulă, deoarece nulă înseamnă nedefinit sau necunoscut. Cheia primară poate fi cu o singură coloană sau cu mai multe coloane. Valorile cheii primare pot fi unice sau neunice. Cheia primară are capacitatea de a fi indexată. Cheia primară ajută motorul bazei de date să mențină integritatea tabelului. Cheia primară poate fi identificată cu ușurință în baza de date.

Cum să alegi o cheie primară în SQL?

Cheia primară este cea mai importantă coloană dintr-un tabel. Acestea sunt ID-urile folosite de aplicațiile dvs. pentru a identifica în mod unic fiecare înregistrare. Câmpul pe care îl selectați ca cheie primară trebuie să fie unic și nu nul. Cheile primare sunt de obicei cele mai bune coloane candidate pentru indexare. Cheia primară este folosită pentru: Referință unică pentru fiecare înregistrare din tabel, pentru a căuta id-ul unei înregistrări ale cărei date le aveți deja, pentru a vă asigura că fiecare rând are o valoare validă în cheia primară. Pentru a vă asigura că datele din tabel rămân valide și consecvente, asigurați-vă că toate valorile cheii primare sunt unice și că nicio valoare a cheii primare nu este nulă.