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:
-
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.
-
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ń.
-
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.