Sobes.tech
Junior — Middle

Můžeš vyjmenovat typy vztahů, které existují mezi tabulkami v databázi?

sobes.tech AI

Odpověď od AI

V databázích existují tři hlavní typy vztahů mezi tabulkami:

  1. Jeden k jednomu (One-to-One) — každý záznam v první tabulce odpovídá přesně jednomu záznamu ve druhé tabulce a naopak. Používá se, když jsou data logicky oddělena, ale přímo propojena.

  2. Jeden k mnoha (One-to-Many) — jednomu záznamu v první tabulce odpovídá více záznamů ve druhé. Například jeden uživatel může mít mnoho objednávek.

  3. Mnoho k mnoha (Many-to-Many) — záznamy v první tabulce mohou odpovídat mnoha záznamům ve druhé a naopak. Implementuje se přes prostřední tabulku obsahující cizí klíče obou tabulek.

Příklad vztahu "mnoho k mnoha":

-- Tabulka studentů
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(100)
);

-- Tabulka kurzů
CREATE TABLE Courses (
    CourseID INT PRIMARY KEY,
    Title VARCHAR(100)
);

-- Prostřední tabulka pro vztah mnoho k mnoha
CREATE TABLE StudentCourses (
    StudentID INT,
    CourseID INT,
    PRIMARY KEY (StudentID, CourseID),
    FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);

Tyto typy vztahů jsou základem relačního modelování dat.