Назад к вопросам
Junior — Middle
97
Каким образом реализовать связь 'многие ко многим' в базе данных MySQL?
Компании, где спрашивали
ООО Нави информ
Ответ от нейросети
sobes.tech AI
Связь "многие ко многим" в MySQL реализуется через создание дополнительной таблицы-связки (join table), которая содержит внешние ключи на обе связанные таблицы.
Например, есть две таблицы: students и courses. Один студент может быть записан на несколько курсов, и один курс может включать много студентов.
- Создаём таблицы:
CREATE TABLE students (
student_id INT PRIMARY KEY,
name VARCHAR(100)
);
CREATE TABLE courses (
course_id INT PRIMARY KEY,
title VARCHAR(100)
);
- Создаём таблицу-связку:
CREATE TABLE student_courses (
student_id INT,
course_id INT,
PRIMARY KEY (student_id, course_id),
FOREIGN KEY (student_id) REFERENCES students(student_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
Эта таблица хранит пары идентификаторов, связывающие студентов и курсы. Таким образом, реализуется связь многие ко многим через промежуточную таблицу.