Integritate referenţială

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 27 aprilie 2017; verificările necesită 6 modificări .

Integritatea referențială este corectitudinea  valorilor cheilor străine ale unei baze de date relaționale .

Sarcina de a menține sau de a asigura integritatea referențială este de a preveni sau elimina încălcarea corectitudinii valorilor cheii străine atunci când se fac modificări în baza de date prin corectarea valorilor cheii străine, dacă este posibil, sau anularea operațiunii de editare dacă o astfel de corecție este nu este posibil.

Definiție

Relațiile dintre datele stocate în diferite relații într-o bază de date relațională sunt stabilite folosind chei străine - pentru a stabili o relație între un tuplu din relația A cu un anumit tuplu al relației B , valoarea cheii primare este scrisă în atributele tuplului de relația A prevedea aceasta (și în cazul general, cheia potențial valoric ) a tuplului țintă al relației B . Astfel, este întotdeauna posibilă efectuarea a două operații:

Datorită prezenței legăturilor într-o bază de date relațională, este posibilă stocarea faptelor fără duplicare excesivă, adică într-o formă normalizată . Integritatea referenţială poate fi ilustrată după cum urmează:

Având în vedere o pereche de relații A și B legate printr-o cheie străină. Cheia primară a relației B este atributul B.key . Cheia străină a relației A care se referă la B este atributul Ab . Integritatea referenţială pentru o pereche de relaţii A şi B are loc atunci când este îndeplinită condiţia: pentru fiecare tuplu al relaţiei A , există un tuplu corespunzător al relaţiei B , adică un tuplu care are ( B.key = Ab ).

O bază de date are proprietatea integrității referențiale atunci când orice pereche de relații legate de chei străine din ea are condiția de integritate referențială.

Dacă condiția de mai sus nu este îndeplinită, se spune că baza de date are o încălcare a integrității referențiale . O astfel de bază de date nu poate fi operată în mod normal, deoarece conexiunile logice dintre faptele care depind unele de altele sunt întrerupte în ea. Rezultatul imediat al unei încălcări a integrității referențiale este că o interogare validă poate să nu producă întotdeauna rezultatul corect.

Menținerea integrității referențiale în baza de date

SGBD-urile au un mecanism pentru menținerea automată a integrității referențiale. Orice operație care modifică datele dintr-un tabel declanșează o verificare automată a integrității referențiale. în care:

Link -uri