Junior
Зашто је у табли потребна релација?
sobes.tech АИ
Одговор од АИ
Veza, ili povezivanje između tabela u bazi podataka, neophodno je za:
- Uklanjanje suvišnih podataka: Umesto dupliranja informacija u više tabela, one se čuvaju u jednoj, a ostale se na njih referenciraju. To štedi prostor i pojednostavljuje ažuriranja.
- Očuvanje integriteta podataka: Veze pomažu u održavanju konzistentnosti podataka. Na primer, ne možete obrisati red u jednoj tabeli ako na njega ukazuje drugi red (u zavisnosti od tipa ograničenja).
- Pojednostavljenje upita: Omogućava lako izvlačenje povezanih podataka iz više tabela pomoću JOIN operacija.
- Kreiranje strukture baze podataka: Odražava logičku vezu između entiteta stvarnog sveta, čineći strukturu baze podataka razumljivijom i organizovanijom.
Primeri tipova veza:
- Jedan na jedan (One-to-one): Red u tabeli A je povezan samo sa jednim redom u tabeli B, i obrnuto.
- Jedan na više (One-to-many): Red u tabeli A može biti povezan sa više redova u tabeli B, ali red u B je povezan samo sa jednim u A.
- Više na više (Many-to-many): Red u tabeli A može biti povezan sa više redova u tabeli B, i obrnuto. Obično se realizuje putem posredne tabele.
Implementacija na primeru u SQL:
CREATE TABLE kupci (
kupac_id INT PRIMARY KEY,
ime VARCHAR(255)
);
CREATE TABLE narudžbine (
narudžbina_id INT PRIMARY KEY,
datum_narudžbine DATE,
kupac_id INT,
FOREIGN KEY (kupac_id) REFERENCES kupci(kupac_id) // Veza "jedan na više": jedan kupac može imati više narudžbina
);