Pagina 1 din 8
Integritatea referențială este restrângerea bazei de date, asigurând legăturile dintre date cu adevărat legitime și nedeteriorate. Integritatea referențială este un principiu fundamental al teoriei bazelor de date și rezultă din ideea că baza de date ar trebui nu numai să păstreze datele, ci și să contribuie activ la asigurarea calității acestora. Iată câteva definiții suplimentare găsite pe Web:- "Integritatea referențială într-o bază de date relațională este coerența dintre tabelele conexe. Integritatea referențială este, de obicei, menținută prin combinarea unei chei primare și a unei chei străine. Pentru a menține integritatea referențială, este necesar ca orice câmp din tabelul declarat cu o cheie străină să conțină numai valori din câmpul cheie primară a tabelului părinte ... "[5]
- "[Integritatea referinței este] o proprietate furnizată de sistemele de gestionare a bazelor de date relaționale (RDBMS) care împiedică utilizatorii sau aplicațiile să introducă date incoerente. Majoritatea RDBMS au reguli de integritate referențială diferite care pot fi aplicate atunci când se creează o legătură între două tabele. "[6]
- "[Integritatea referențială este] un dispozitiv de siguranță al sistemului de gestionare a bazelor de date, asigurându-se că fiecare cheie străină corespunde cheii primare. De exemplu, numerele de client sunt cheile primare din fișierul client și cheile externe din fișierul de comandă. Când ștergeți o înregistrare a clientului, înregistrările corespunzătoare trebuie să fie șterse; altfel acestea vor rămâne fără conexiunea inițială. Dacă DBMS-ul nu verifică acest lucru, mecanismul corespunzător ar trebui să fie programat în aplicație. "[7]
Sprijinul pentru integritatea referențială în baza de date oferă numeroase beneficii.
Rețineți că definițiile luate de pe Web sunt exprimate în baze de date relaționale. Cu toate acestea, principiile integrității referențiale se aplică într-un context mai larg. Integritatea referențială este aplicabilă atât bazelor de date orientate relațional, cât și orientate pe obiecte (OO), precum și limbajelor de programare și modelare.