O cheie primară este o intrare dintr-o bază de date care este unică pentru o singură înregistrare. Această cheie este, în general, derivată într-unul din două moduri: un cod unic de identificare din afara bazei de date sau un număr generat din interiorul bazei de date. Când baza de date va conține informații care sunt întotdeauna unice pentru intrare, cum ar fi un număr de securitate socială sau un număr de identificare a unei părți, atunci acestea sunt de obicei utilizate ca cheie primară. Când datele nu vor avea un astfel de identificator, baza de date va crea adesea numere pe baza sistemelor sale interne pentru a oferi fiecărei înregistrări un cod unic.
Există trei restricții principale asupra unei chei primare: existență, unicitate și imuabilitate. O cheie trebuie să existe în momentul înregistrării – nu poate fi adăugată ulterior. Fiecare cheie trebuie să fie complet diferită de orice altă cheie. Aceasta înseamnă că identificatorii obișnuiți, cum ar fi numele sau data nașterii, nu pot fi utilizați, deoarece este posibil ca două persoane să se nască în aceeași zi cu același nume. În cele din urmă, o cheie primară nu poate fi niciodată modificată odată creată.
Deoarece o bază de date poate avea un număr infinit de intrări, o cheie primară trebuie să fie și ea infinită. Pentru a vă asigura că o bază de date nu va rămâne niciodată fără chei, majoritatea înregistrărilor folosesc un cod numeric pentru cheie. Deoarece numerele pot deveni întotdeauna mai mari, iar computerele pot adăuga pur și simplu zerouri de păstrare a locului la intrările mai vechi, un sistem nu va rămâne niciodată fără chei. Uneori, aceste numere se bazează pe informații care nu sunt unice, dar se adaugă un identificator unic pentru a se asigura că cheia este viabilă.
Bazele de date vor folosi o cheie primară ca modalitate de organizare a datelor. Deoarece cheia nu se repetă niciodată, acea informație va permite bazei de date să păstreze fiecare înregistrare separată de altele. Fiecare informație dintr-o înregistrare este conectată înapoi la cheie; în acest fel, indiferent de ce se întâmplă cu sistemul, baza de date poate reconstrui înregistrările din informații libere.
Atribuirea unei chei primare semnificative este adesea văzută ca o practică mai bună decât generarea automată a unei valori. Acest lucru va oferi înregistrării un identificator care funcționează atât ca o cheie, cât și oferă date. În bazele de date mici, această distincție este rareori necesară, dar în sistemele mari, spațiul suplimentar utilizat de o cheie generată poate rezulta este o umflare serioasă a bazei de date. Acest lucru va încetini sistemul și va face ca baza de date să necesite mult mai mult spațiu de stocare.