Sobes.tech
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
);