Sobes.tech
Junior — Middle

Czy możesz wymienić typy relacji istniejących między tabelami w bazie danych?

sobes.tech AI

Odpowiedź od AI

W bazach danych istnieją trzy główne typy relacji między tabelami:

  1. Jeden do jednego (One-to-One) — każdemu rekordowi w pierwszej tabeli odpowiada dokładnie jeden rekord w drugiej tabeli i odwrotnie. Używa się tego, gdy dane są logicznie oddzielone, ale powiązane bezpośrednio.

  2. Jeden do wielu (One-to-Many) — jednemu rekordowi w pierwszej tabeli odpowiada wiele rekordów w drugiej. Na przykład, jeden użytkownik może mieć wiele zamówień.

  3. Wiele do wielu (Many-to-Many) — rekordy w pierwszej tabeli mogą odpowiadać wielu rekordom w drugiej i odwrotnie. Implementuje się to przez tabelę pośrednią zawierającą klucze obce obu tabel.

Przykład relacji "wiele do wielu":

-- Tabela studentów
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(100)
);

-- Tabela kursów
CREATE TABLE Courses (
    CourseID INT PRIMARY KEY,
    Title VARCHAR(100)
);

-- Tabela pośrednia dla relacji wiele do wielu
CREATE TABLE StudentCourses (
    StudentID INT,
    CourseID INT,
    PRIMARY KEY (StudentID, CourseID),
    FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
    FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);

Te typy relacji stanowią podstawę modelowania relacyjnego danych.