Sobes.tech
Junior

De ce este nevoie de o relație în tabel?

sobes.tech AI

Răspuns de la AI

Relația, sau legătura între tabele într-o bază de date, este necesară pentru:

  • Eliminarea redundanței datelor: În loc să se duplicate informația în mai multe tabele, aceasta se stochează într-unul singur, iar celelalte fac referire la ea. Acest lucru economisește spațiu și simplifică actualizările.
  • Asigurarea integrității datelor: Relațiile ajută la menținerea coerenței datelor. De exemplu, nu se poate șterge un rând dintr-un tabel dacă altul face referire la el (în funcție de tipul de restricție).
  • Simplificarea interogărilor: Permite extragerea ușoară a datelor legate din mai multe tabele folosind operații JOIN.
  • Crearea structurii bazei de date: Reflectă relația logică dintre entitățile din lumea reală, făcând structura bazei de date mai ușor de înțeles și organizată.

Exemple de tipuri de relații:

  • Unu la unu (One-to-one): O linie din tabelul A este legată doar de o linie din tabelul B, și viceversa.
  • Unu la mai multe (One-to-many): O linie din tabelul A poate fi legată de mai multe linii din tabelul B, dar o linie din B este legată doar de una din A.
  • Multe la multe (Many-to-many): O linie din tabelul A poate fi legată de mai multe linii din tabelul B, și viceversa. De obicei, se realizează printr-un tabel intermediar.

Implementare cu exemplu în SQL:

CREATE TABLE clienti (
    client_id INT PRIMARY KEY,
    nume VARCHAR(255)
);

CREATE TABLE comenzi (
    comanda_id INT PRIMARY KEY,
    data_comanda DATE,
    client_id INT,
    FOREIGN KEY (client_id) REFERENCES clienti(client_id) // Relație "unu la mai multe": un client poate avea multe comenzi
);