O cheie primară identifică în mod unic fiecare înregistrare dintr-un tabel. Nicio valoare a cheii primare nu poate fi împărtășită de două rânduri. Cheia nu poate fi nulă. Trebuie să fie unică și stabilă. Într-un tabel de clienți, cheia primară poate fi un ID de client. Într-un tabel de comenzi, poate fi un număr de comandă. Cheia primară este ancora pentru înregistrare. Alte tabele o referă prin chei externe. Fără o cheie primară, înregistrările sunt greu de identificat, actualizat sau șterse în mod fiabil.
Cheile primare au două forme. Cheile naturale sunt derivate din datele în sine. Un număr de asigurări sociale, o adresă de e-mail sau un SKU de produs. Acestea sunt semnificative, dar se pot schimba. Oamenii schimbă adresele de e-mail. Companiile schimbă codurile de produs. Cheile surogat sunt generate de sistem. Numere întregi cu auto-incrementare sau UUID-uri. Nu au nicio semnificație în afara bazei de date. Nu se schimbă niciodată. Cheile surogat sunt în general preferate deoarece stabilitatea contează mai mult decât semnificația. O cheie naturală care se schimbă forțează actualizări în fiecare tabel care o face referire. O cheie surogat rămâne aceeași pentru totdeauna. Unele tabele utilizează chei primare compozite formate din două sau mai multe coloane. Un element de linie de comandă poate fi identificat prin combinația dintre ID-ul comenzii și numărul liniei. Cheile compozite funcționează, dar complică joncțiunile și referințele la chei externe. O singură cheie surogat este mai simplă.
Proprietăți ale cheii primare
- Unic — fără duplicate
- Nu este nul — are întotdeauna o valoare
- Stabil — nu se schimbă în timp
- Simplu sau compus — o coloană sau mai multe
- Indexat — automat pentru căutări rapide
O cheie primară este o identitate. Ea spune că această înregistrare este această înregistrare și nu alta. Fără ea, datele nu au ancoră.
Comments
No comments yet. Be the first to share a thought.
Leave a comment