Middle+
Aké typy vzťahov existujú medzi tabuľkami?
sobes.tech AI
Odpoveď od AI
Existujú tri hlavné typy vzťahov medzi tabuľkami v relačných databázach:
-
Jeden ku jednému (1:1) — každému záznamu v prvej tabuľke zodpovedá presne jeden záznam v druhej tabuľke a naopak. Používa sa, keď sú údaje logicky oddelené, ale priamo prepojené.
-
Jeden ku mnohým (1:N) — jednému záznamu v prvej tabuľke zodpovedá viac záznamov v druhej. Napríklad, jeden zákazník môže mať veľa objednávok.
-
Mnoho ku mnohým (M:N) — záznamy v prvej tabuľke sú prepojené s viacerými záznamami v druhej a naopak. Na implementáciu sa zvyčajne vytvára medzičlánková tabuľka s cudzími kľúčmi k obom tabuľkám.
Príklad vzťahu mnoho ku mnohým:
-- Tabuľka študentov
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(100)
);
-- Tabuľka kurzov
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
Title VARCHAR(100)
);
-- Medzitabulka pre spojenie študentov a kurzov
CREATE TABLE StudentCourses (
StudentID INT,
CourseID INT,
PRIMARY KEY (StudentID, CourseID),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);