Skip to main content

Cum integritatea referențială asigură consistența bazei de date

Star Trek 25th Anniversary Ep 4 Another Fine Mess Walkthrough (Aprilie 2025)

Star Trek 25th Anniversary Ep 4 Another Fine Mess Walkthrough (Aprilie 2025)
Anonim

Bazele de date utilizează tabele pentru a organiza informațiile pe care le conțin. Ele sunt similare cu foile de calcul, cum ar fi Excel, dar mult mai capabile pentru utilizatorii avansați. Bazele de date funcționează cu utilizarea cheilor primare și a cheilor externe, care mențin relația dintre tabele.

Integritatea referențială este o caracteristică de bază de date în sistemele de gestionare a bazelor de date relaționale. Asigură relațiile dintre tabele dintr-o bază de date rămân exacte prin aplicarea unor constrângeri pentru a împiedica utilizatorii sau aplicațiile să introducă date inexacte sau să indice date care nu există.

Cheia principala

Cheia primară a unei tabele de bază de date este un identificator unic atribuit fiecărei înregistrări. Fiecare tabel are una sau mai multe coloane desemnate ca cheie primară. Un număr de securitate socială poate fi o cheie primară pentru o listă de bază de date a angajaților deoarece fiecare număr de securitate socială este unic.

Cu toate acestea, din cauza preocupărilor privind confidențialitatea, un număr de identificare al companiei este o alegere mai bună de a funcționa ca cheie primară pentru angajați. Unele programe de bază de date, cum ar fi Microsoft Access, atribuie automat cheia primară, dar cheia aleatoare nu are nici un sens real. Este mai bine să folosiți o cheie cu semnificație pentru înregistrare.

Cea mai simplă modalitate de a impune integritatea referențială nu este de a permite modificarea unei chei primare.

Cheie externă

O cheie străină este un identificator într-un tabel care se potrivește cu cheia primară a unui tabel diferit. Cheia externă creează relația cu o altă tabelă. Integritatea referențială se referă la relația dintre aceste tabele.

Atunci când un tabel are o cheie străină într-o altă tabelă, conceptul de integritate referențială indică faptul că este posibil să nu adăugați o înregistrare în tabelul care conține cheia externă, cu excepția cazului în care există o înregistrare corespunzătoare în tabela conectată. Acesta include, de asemenea, tehnicile cunoscute ca actualizare cascadă și ștergere în cascadă, care asigură că modificările aduse tabelului conectat sunt reflectate în tabelul principal.

Exemplu de reguli de integritate referențială

Luați în considerare, de exemplu, situația în care aveți două tabele: Angajați și Manageri. Tabelul Angajați are un atribut de cheie străină, intitulat ManagedBy, care indică înregistrarea managerului fiecărui angajat în tabelul Managerii. Integritatea referențială impune următoarele trei reguli:

  • Nu puteți adăuga o înregistrare în tabelul Angajați, cu excepția cazului în care atributul ManagedBy indică o înregistrare validă în tabelul Managerii. Integritatea referențială împiedică introducerea unor detalii incorecte într-o tabelă. Orice operație care nu respectă regula integrității referențiale eșuează.
  • Dacă se modifică cheia primară pentru o înregistrare în tabelul Managerii, toate înregistrările corespunzătoare din tabelul Angajați sunt modificate utilizând o actualizare cascadă.
  • Dacă o înregistrare din tabelul Managerii este ștearsă, toate înregistrările corespunzătoare din tabelul Angajați sunt șterse folosind o ștergere în cascadă.

Avantajele constrângerilor de integritate de referință

Utilizarea unui sistem de gestionare a bazelor de date relaționale cu integritate referențială oferă mai multe avantaje:

  • Împiedică introducerea datelor duplicate
  • Împiedică ca un tabel să indice un câmp inexistent dintr-un alt tabel
  • Garantează coerența între tabelele "în parteneriat"
  • Împiedică ștergerea unei înregistrări care conține o valoare menționată de o cheie străină într-un alt tabel
  • Împiedică adăugarea unei înregistrări într-o tabelă care conține o cheie străină, cu excepția cazului în care există o cheie primară în tabela conectată