Bazele de date depind de cheile pentru stocarea, sortarea și compararea sau crearea de relații între înregistrări. Dacă ați fost în jur de câteva zile în jurul bazelor de date, probabil ați auzit despre diferite tipuri de chei: chei primare, chei candidate și chei străine. Când creați o nouă tabelă de baze de date, vi se solicită să selectați o cheie primară care va identifica în mod unic fiecare înregistrare stocată în acel tabel.
De ce o cheie primară este importantă
Selectarea unei chei primare este una dintre cele mai importante 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 viitor - să aibă aceeași valoare pentru un atribut, este o alegere proastă pentru o cheie primară.
Un alt aspect important al unei chei primare îl reprezintă utilizarea sa de către alte tabele care o leagă î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, trebuie să existe o cheie primară atunci când este creată o înregistrare și nu se poate schimba niciodată.
Slaburi aleatoare pentru cheile primare
Ceea ce unii oameni ar putea considera o alegere evidentă pentru o cheie primară poate fi o alegere proastă în schimb. Iată câteva exemple:
- coduri poștale nu faceți cheile primare bune pentru o masă 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ă o investigație ulterioară, vă puteți da seama că mai mult de un oraș împărtășește un cod poștal. De exemplu, orașele din orașul New Jersey, Neptun, Neptun, Tinton Falls și Wall Township împărtășesc toți codul postal 07753.
- Numere de securitate socială nu faceți chei primare bune din mai multe motive. Majoritatea oamenilor consideră că SSN-ul lor este privat și nu doresc ca acesta să fie clar vizibil pentru utilizatorii bazei de date. Unii oameni nu au SSN - străini sau imigranți care nu au primit niciodată un card de securitate socială. SSN-urile pot fi refolosite și după moartea unui individ. O persoană poate avea mai mult de un SSN pe întreaga durată a vieții atunci când administrația de securitate socială emite un nou număr în caz de fraudă sau furt de identitate.
- Adrese de email 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.
Alegerea unei chei primare eficiente
Deci, ce face o cheie primară bună? În majoritatea cazurilor, adresați-vă sistemului de bază de date pentru asistență.
O bună practică în proiectarea bazelor de date este utilizarea unei chei primare generate intern. Sistemul dvs. de gestionare a bazelor de date poate genera în mod normal un identificator unic care nu are sens în afara sistemului de baze de date. De exemplu, este posibil să utilizați 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. În timp ce numărul în sine este lipsit de sens, acesta oferă o modalitate sigură de a trimite o înregistrare individuală în interogări.
O cheie primară bună este, de obicei, scurtă, utilizează numere și evită caracterele speciale sau o combinație de caractere majuscule și minuscule pentru a facilita căutările și comparațiile rapide ale bazei de date.