Cuprins:
- Definiție - Ce înseamnă integritatea referențială (RI)?
- Techopedia explică integritatea referențială (RI)
Definiție - Ce înseamnă integritatea referențială (RI)?
Integritatea referențială (RI) este un concept de bază de date relațional, care afirmă că relațiile de tabel trebuie să fie întotdeauna consecvente. Cu alte cuvinte, orice câmp de cheie străină trebuie să fie de acord cu cheia primară la care face referire cheia străină. Astfel, orice modificare a câmpului cheii primare trebuie să fie aplicată tuturor cheilor străine, sau deloc. Aceeași restricție este valabilă și pentru cheile străine, prin faptul că orice actualizări (dar nu neapărat ștergeri) trebuie propagate la cheia părinte primară.
Techopedia explică integritatea referențială (RI)
Luați în considerare o bază de date bancară, care conține două tabele:
- Tabelul CUSTOMER_MASTER: Acesta conține date de bază ale clientului / titularului de cont, cum ar fi numele, numărul securității sociale, adresa și data nașterii.
- Tabelul ACCOUNTS_MASTER: acesta stochează datele de bază ale contului bancar, cum ar fi tipul contului, data creării contului, titularul contului și limitele de retragere.
Pentru a identifica în mod unic fiecare client / titular de cont din tabelul CUSTOMER_MASTER, se creează o coloană de chei primare numită CUSTOMER_ID.
Pentru a identifica o relație de client și cont bancar în tabelul ACCOUNTS_MASTER, trebuie să se facă referire la un client existent în tabelul CUSTOMER_MASTER. Astfel, coloana CUSTOMER_ID - creată și în tabelul ACCOUNTS_MASTER - este o cheie străină. Această coloană este specială deoarece valorile sale nu sunt create recent. Mai degrabă, aceste valori trebuie să facă referire la valorile existente și identice în coloana cheie primară a unei alte tabele, care este coloana CUSTOMER_ID din tabela CUSTOMER_MASTER.
Integritatea referențială este un standard care înseamnă că orice valoare CUSTOMER_ID din tabelul CUSTOMER_MASTER nu poate fi modificată fără modificarea valorii corespunzătoare din tabelul ACCOUNTS_MASTER. De exemplu, dacă ID-ul de client al lui Andrew Smith este modificat în tabelul CUSTOMER_MASTER, această modificare trebuie aplicată și în tabelul ACCOUNTS_MASTER, permițând astfel informațiilor contului lui Andrew Smith să se conecteze la ID-ul clientului său.