Sobes.tech
Junior

Prečo je v tabuľke potrebný vzťah?

sobes.tech AI

Odpoveď od AI

Vztah, alebo spojenie medzi tabuľkami v databáze, je nevyhnutné pre:

  • Odstránenie nadbytočnosti údajov: Namiesto duplikácie informácií v niekoľkých tabuľkách sa ukladajú v jednej a ostatné na ne odkazujú. To šetrí miesto a zjednodušuje aktualizácie.
  • Zabezpečenie integrity údajov: Vzťahy pomáhajú udržiavať konzistenciu údajov. Napríklad, nemôžete odstrániť riadok v jednej tabuľke, ak naň odkazuje iný riadok (v závislosti od typu obmedzenia).
  • Zjednodušenie dopytov: Umožňuje ľahko získať súvisiace údaje z viacerých tabuliek pomocou operácií JOIN.
  • Vytvorenie štruktúry databázy: Odzrkadľuje logický vzťah medzi entitami reálneho sveta, čím robí štruktúru databázy zrozumiteľnejšou a organizovanejšou.

Príklady typov vzťahov:

  • Jeden ku jednému (One-to-one): Riadok v tabuľke A je spojený iba s jedným riadkom v tabuľke B, a naopak.
  • Jeden ku mnohým (One-to-many): Riadok v tabuľke A môže byť spojený s viacerými riadkami v tabuľke B, ale riadok v B je spojený iba s jedným v A.
  • Mnoho ku mnohému (Many-to-many): Riadok v tabuľke A môže byť spojený s viacerými riadkami v tabuľke B, a naopak. Zvyčajne sa realizuje prostredníctvom prechodnej tabuľky.

Implementácia na príklade v SQL:

CREATE TABLE zákazníci (
    zakaznik_id INT PRIMARY KEY,
    meno VARCHAR(255)
);

CREATE TABLE objednávky (
    objednavka_id INT PRIMARY KEY,
    datum_objednavky DATE,
    zakaznik_id INT,
    FOREIGN KEY (zakaznik_id) REFERENCES zákazníci(zakaznik_id) // Vzťah "jeden ku mnohým": jeden zákazník môže mať veľa objednávok
);