Sobes.tech
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:

  1. 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é.

  2. 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.

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