Назад к вопросам
Junior — Middle
70
Какие существуют виды связей между таблицами в реляционной базе данных?
Ответ от нейросети
sobes.tech AI
В реляционных базах данных существуют три основных вида связей между таблицами:
-
Один к одному (1:1) — каждой записи в первой таблице соответствует ровно одна запись во второй таблице и наоборот. Используется, например, для разделения данных на логические части.
-
Один ко многим (1:N) — одной записи в первой таблице соответствует множество записей во второй. Например, один заказчик может иметь много заказов.
-
Многие ко многим (M:N) — записи в первой таблице могут соответствовать множеству записей во второй и наоборот. Для реализации такой связи обычно создаётся промежуточная таблица (связующая), которая содержит внешние ключи на обе таблицы.
Пример связи "многие ко многим":
-- Таблица студентов
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
Name VARCHAR(100)
);
-- Таблица курсов
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
Title VARCHAR(100)
);
-- Промежуточная таблица для связи многие ко многим
CREATE TABLE StudentCourses (
StudentID INT,
CourseID INT,
PRIMARY KEY (StudentID, CourseID),
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID)
);