Ce este integritatea referențială și cum poate un programator să evite aceste probleme?
Regula de integritate referențială
În principiu, integritatea referențială afirmă că o bază de date nu poate avea valori ale cheii străine nepermanente. O cheie externă este o coloană într-o tabelă de baze de date care are valori care se află în coloana cheii primare, un identificator unic care identifică un rând dintr-un tabel într-un alt tabel. De exemplu, luați în considerare o tabelă de baze de date denumită "departament", în care există o coloană numită "număr de departament" ca cheie primară. Este legat de un alt tabel numit "angajat", unde "numărul departamentului" este o cheie externă. Un angajat nu poate aparține unui anumit departament dacă numărul "departamentului" corespunzător nu există deja în tabelul "departament". Dacă programul care adaugă angajați întărește integritatea referențială, orice încercare de a introduce un angajat într-un departament necunoscut nu va fi posibilă.
beneficiu
Pe lângă asigurarea faptului că aceste referințe între date sunt intacte și valide, definirea integrității referențiale a unei baze de date are multe avantaje. Integritatea referențială folosește codul existent într-un motor de bază de date, în loc să-i ceară programatorilor să scrie codul de program personalizat de la zero. Ca urmare, dezvoltarea de programe este mai rapidă, mai puțin predispusă la erori și consecventă între mai multe programe de aplicație care accesează baza de date.
efect
Din păcate, limbile de programare adesea nu dispun de mecanisme de aplicare a integrității referențiale și, chiar și atunci când un sistem de gestionare a bazelor de date susține aceste mecanisme, programatorii nu reușesc să le utilizeze. Consecința ignorării integrității referențiale este aceea că codul de programare care are defecte sau erori, funcționează defectuos și este dificil de prelungit.
cerere
Programatorii pot aplica integritatea referențială și pot evita înregistrările "orfane" într-o bază de date, permițându-le să facă o relație între două tabele. În Microsoft Access, de exemplu, aplicarea integrității referențiale înseamnă că orice operație care o încalcă este respinsă. Aceste tipuri de operațiuni includ actualizări ale bazei de date care schimbă obiectul unei referințe sau ștergeri care șterg obiectul unei referințe. În plus, Microsoft Access are de asemenea un set de opțiuni, cunoscute sub numele de "cascadă". Aceste opțiuni permit ca actualizările referențiale și șterse să fie propagate de către baza de date, astfel încât toate rândurile conexe să se schimbe în același mod.