Назад к вопросам
Middle+
3
Как технически реализуется связь многие-ко-многим?
Компании, где спрашивали
СБЕР AI
Ответ от нейросети
sobes.tech AI
Связь многие-ко-многим в реляционных базах данных реализуется через промежуточную (связующую) таблицу, которая содержит внешние ключи на обе связанные таблицы.
Например, если есть таблицы Студенты и Курсы, и один студент может посещать много курсов, а курс может иметь много студентов, создаётся таблица Студенты_Курсы с двумя столбцами: student_id и course_id. Каждая запись в этой таблице отражает связь одного студента с одним курсом.
Пример структуры:
CREATE TABLE Students (
id INT PRIMARY KEY,
name VARCHAR(100)
);
CREATE TABLE Courses (
id INT PRIMARY KEY,
title VARCHAR(100)
);
CREATE TABLE Students_Courses (
student_id INT,
course_id INT,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES Students(id),
FOREIGN KEY (course_id) REFERENCES Courses(id)
);
Таким образом, связь многие-ко-многим реализуется через отдельную таблицу, которая хранит пары связанных сущностей.