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