Cheie externă

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

O cheie străină (în limba engleză foreign key), în contextul bazelor de date relaționale , este o constrângere referențială de integritate între două sau mai multe tabele. Identifică una sau mai multe coloane ale unui tabel, numit tabel de referință, care face trimitere la una sau mai multe coloane ale unui alt tabel, numit referențiat.

Descriere

Valorile unei înregistrări a coloanelor de referință trebuie să existe într-o singură înregistrare a tabelului de referință. Aceasta implică faptul că o înregistrare din tabelul de referință nu poate conține valori care nu există în tabelul de referință, cu excepția cazului special al valorilor NULL dacă coloana de referință nu este obligatorie. Mai multe înregistrări din tabelul de referință pot indica aceeași înregistrare din tabelul de referință. În majoritatea cazurilor, aceasta corespunde relației „unu-la-mulți” dintre o masă părinte și o masă copil. Tabelul de referință și tabelul de referință pot fi același tabel. O astfel de cheie străină se mai numește și auto-referință sau recursivă . Un tabel poate avea multe chei străine și fiecare cheie străină poate face referință la un tabel diferit.

Descriere

Acțiuni

Când apare o modificare în tabelul de referință care afectează cheia externă, o acțiune poate fi efectuată automat de către SGBD pentru a asigura integritatea. Acțiunea specifică care trebuie efectuată poate fi aleasă de utilizator, cheie cu cheie. Există două evenimente care afectează cheia principală: ON DELETE apare atunci când se solicită ștergerea unei înregistrări din tabelul de referință; ACTUALIZARE apare atunci când încercați să modificați unul sau mai multe câmpuri la care se face referire prin cheia externă.

Tipuri de potrivire

Standardele SQL oferă trei moduri diferite de a găsi potriviri între înregistrări, fiecare implicând un mod diferit de a trata valorile NULL . Cele trei tipuri sunt:

  • MATCH FULL : Dacă cheia străină constă din mai multe coloane, o valoare NULL nu poate fi inserată într-o coloană decât dacă toate coloanele sunt NULL. Dacă cheia străină constă dintr-o singură coloană, puteți introduce valori NULL.
  • PARTIAL MATCH : Vă permite să introduceți valori NULL. Dacă cheia străină constă din mai multe coloane, puteți insera valori NULL în toate sau în unele coloane.
  • MATCH SIMPLE : valorile NULL nu sunt permise.

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT