O cheie este o combinație de câmpuri a căror date identifică în mod unic fiecare intrare din tabel. O cheie simplă constă dintr-un câmp, iar unul compozit (complex) constă din mai multe câmpuri. Câmpurile pe care este construită cheia sunt numite chei. Numai o singură cheie poate fi definită în tabel. Cheia oferă:
· Identificarea clară a înregistrărilor de tabele;
· Prevenirea repetării valorilor-cheie;
· Accelerarea executării interogărilor bazei de date;
· Stabilirea comunicării între tabelele de baze de date individuale.
· Utilizarea constrângerilor de integritate referențială.
Cheia este numită și cheia primară sau indexul primar
Tabelele de diferite formate au particularitățile lor de construcție cheie. În același timp, există reguli generale, care constau în următoarele.
-Cheia trebuie să fie unică. Într-o cheie compusă, valorile câmpurilor individuale (dar nu toate în același timp) pot fi repetate.
- Cheia trebuie să fie suficientă și nu redundantă, adică să nu conțină un câmp care să poată fi șters fără a încălca unicitatea cheii.
Rețineți că atunci când creați și întrețineți o bază de date, abordarea corectă este aceea de a seta cheia în fiecare tabel, chiar dacă nu este necesară la prima vedere. În exemplele de tabele care sunt date în prezentarea materialului, de regulă este creată o cheie și pentru aceasta este introdus un câmp special incremental cu numele de cod sau număr.
Indicele, ca și cheia, este construit în jurul câmpurilor mesei, dar poate permite repetarea valorilor câmpurilor sale constitutive, aceasta este principala sa diferență față de cheia. Câmpurile pe care este construit indexul sunt numite câmpuri index. Un index simplu constă dintr-un câmp, iar unul compozit (complex) constă din mai multe câmpuri.
Indicii atunci când sunt creați sunt numiți. Ca și în cazul cheii, în funcție de DBMS, indexurile pot fi stocate în fișiere separate sau împreună cu date. Crearea unui index se numește indexarea unui tabel.
Utilizarea indexului oferă:
· Creșterea vitezei de acces (căutare) la date;
· Stabilirea comunicării între tabelele individuale de baze de date;
· Utilizarea constrângerilor de integritate referențială.