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
);