Sobes.tech
Назад к вопросам
Junior — Middle
97

Каким образом реализовать связь 'многие ко многим' в базе данных MySQL?

Компании, где спрашивали
ООО Нави информ

Ответ от нейросети

sobes.tech AI

Связь "многие ко многим" в MySQL реализуется через создание дополнительной таблицы-связки (join table), которая содержит внешние ключи на обе связанные таблицы.

Например, есть две таблицы: students и courses. Один студент может быть записан на несколько курсов, и один курс может включать много студентов.

  1. Создаём таблицы:
CREATE TABLE students (
  student_id INT PRIMARY KEY,
  name VARCHAR(100)
);

CREATE TABLE courses (
  course_id INT PRIMARY KEY,
  title VARCHAR(100)
);
  1. Создаём таблицу-связку:
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)
);

Эта таблица хранит пары идентификаторов, связывающие студентов и курсы. Таким образом, реализуется связь многие ко многим через промежуточную таблицу.