Junior
Ako sa dosahuje vzťah v relačnej databáze?
sobes.tech AI
Odpoveď od AI
Vztahy v systémoch relačných databáz (RDBMS) sa dosahujú pomocou cudzích kľúčov (Foreign Keys).
Cudzí kľúč je stĺpec alebo súbor stĺpcov v tabuľke, ktorý odkazuje na primárny kľúč v inej tabuľke. Týmto spôsobom sa vytvára vzťah medzi záznamami v dvoch tabuľkách.
Príklady typov vzťahov:
- Jeden k mnohým (One-to-Many): Jeden záznam v prvej tabuľke je spojený s viacerými záznamami v druhej tabuľke. Napríklad, jeden oddelenie môže mať veľa zamestnancov. V tabuľke
Employeesbude cudzí kľúč odkazovať na primárny kľúč v tabuľkeDepartments. - Mnoho k mnohým (Many-to-Many): Viaceré záznamy v prvej tabuľke sú spojené s viacerými záznamami v druhej tabuľke. Napríklad, jeden študent môže študovať viac kurzov a jeden kurz môže študovať viac študentov. To sa realizuje pomocou medzičlánkovej tabuľky (tabuľky vzťahov), ktorá obsahuje cudzie kľúče odkazujúce na primárne kľúče oboch tabuliek.
- Jeden k jednému (One-to-One): Jeden záznam v prvej tabuľke je spojený iba s jedným záznamom v druhej tabuľke. Tento typ vzťahu je menej bežný a často sa používa na vertikálne rozdelenie tabuľky alebo na ukladanie voliteľných údajov. Realizuje sa pomocou cudzieho kľúča v druhej tabuľke, ktorý odkazuje na primárny kľúč v prvej, často s obmedzením jedinečnosti na cudzom kľúči.
Príklad vytvorenia tabuľky s cudzím kľúčom v SQL:
-- Vytvoríme tabuľku Departments
CREATE TABLE Departments (
department_id INT PRIMARY KEY, -- Primárny kľúč
department_name VARCHAR(100)
);
-- Vytvoríme tabuľku Employees s cudzím kľúčom
CREATE TABLE Employees (
employee_id INT PRIMARY KEY,
employee_name VARCHAR(100),
department_id INT, -- Stĺpec pre cudzí kľúč
FOREIGN KEY (department_id) REFERENCES Departments(department_id) -- Definícia cudzieho kľúča
);
Cudzie kľúče zabezpečujú referenčnú integritu dát, čím zabraňujú vytváraniu "strašidelných" väzieb (keď cudzí kľúč odkazuje na neexistujúci záznam v súvisiacej tabuľke).