Sobes.tech
Junior

Ce este o cheie externă?

sobes.tech AI

Răspuns de la AI

Cheia străină (FOREIGN KEY) este o restricție de integritate a datelor în bazele de date relaționale. Creează o legătură între două tabele, referindu-se la cheia primară (sau altă cheie străină) dintr-un alt tabel.

Funcțiile principale ale cheii străine:

  • Asigurarea integrității referențiale: Garantă că valorile din câmpul cheii străine există în câmpul referențiat al tabelului părinte. Acest lucru previne înregistrările "orfan".
  • Stabilirea relațiilor între tabele: Definește modul în care datele din tabele diferite sunt legate între ele.
  • Acțiuni în cascadă: Permite executarea automată a acțiunilor (ștergere sau actualizare) în tabelul copil atunci când se modifică datele în tabelul părinte.

Exemplu de creare a unei chei străine în SQL:

CREATE TABLE `comenzi` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `nume_client` VARCHAR(255),
    `id_produs` INT,
    FOREIGN KEY (`id_produs`) REFERENCES `produse`(`id`)
);

CREATE TABLE `produse` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `nume_produs` VARCHAR(255),
    `pret` DECIMAL(10, 2)
);

În acest exemplu, id_produs din tabelul comenzi este o cheie străină care face referire la id din tabelul produse. Acest lucru asigură că fiecare comandă este asociată cu un produs existent.