Bazele de date depind de chei pentru stocarea, sortarea și compararea sau crearea de relații între înregistrări. Dacă sunteți în jurul bazelor de date de ceva vreme, probabil că ați auzit despre diferite tipuri de chei: chei primare, chei candidate și chei externe.
Când creați un nou tabel de bază de date, vi se cere să selectați o cheie primară care va identifica în mod unic fiecare înregistrare stocată în acel tabel.
De ce este importantă o cheie primară
Selecția unei chei primare este una dintre cele mai critice decizii pe care le veți lua în proiectarea unei noi baze de date. Cea mai importantă constrângere este că trebuie să vă asigurați că cheia selectată este unică. Dacă este posibil ca două înregistrări (trecută, prezentă sau viitoare) să aibă aceeași valoare pentru un atribut, este o alegere proastă pentru o cheie primară.
Un alt aspect important al unei chei primare este utilizarea acesteia de către alte tabele care leagă la ea într-o bază de date relațională. În acest aspect, o cheie primară acționează ca țintă a unui pointer. Din cauza acestor interdependențe, o cheie primară trebuie să existe atunci când este creată o înregistrare și nu se poate schimba niciodată.
Olegeri slabe pentru cheile primare
Ceea ce unii oameni ar putea considera o selecție evidentă pentru o cheie primară ar putea fi o alegere proastă. Iată câteva exemple:
- coduri poștale nu reprezintă chei primare bune pentru un tabel de orașe. Dacă faceți un simplu tabel de căutare a orașelor, codul poștal pare a fi o cheie primară logică. Cu toate acestea, după investigații suplimentare, s-ar putea să realizați că mai multe orașe au un cod poștal. De exemplu, orașele din New Jersey Neptune, Neptune City, Tinton Falls și Wall Township au toate codul poștal 07753.
- Numerele de securitate socială nu reprezintă chei primare bune din multe motive. Majoritatea oamenilor își consideră SSN-ul privat și nu doresc ca acesta să fie clar vizibil pentru utilizatorii bazei de date. În plus, unii oameni nu au SSN.
- Adresele de e-mail sunt, de asemenea, o alegere proastă pentru o cheie primară. Deși sunt unice, se pot schimba în timp. În plus, nu toată lumea are o adresă de e-mail.
Ce face o cheie primară bună
Deci, cum alegi o cheie primară eficientă? În cele mai multe cazuri, apelați la sistemul dvs. de baze de date pentru asistență.
O bună practică în proiectarea bazelor de date este utilizarea unei chei primare generate intern. Sistemul dvs. de gestionare a bazei de date poate genera în mod normal un identificator unic care nu are nicio semnificație în afara sistemului de baze de date.
De exemplu, puteți utiliza tipul de date Microsoft Access AutoNumber pentru a crea un câmp numit RecordID. Tipul de date AutoNumber incrementează automat câmpul de fiecare dată când creați o înregistrare. Deși numărul în sine este lipsit de sens, acesta oferă o modalitate fiabilă de a face referire la o înregistrare individuală în interogări.
O cheie primară bună este de obicei scurtă, folosește numere și evită caracterele speciale sau un amestec de caractere majuscule și minuscule pentru a facilita căutările și comparațiile rapide în baza de date.