Sobes.tech
Back to questions
Junior
54

Как реализуется связь Many-to-Many в БД

Companies where asked
ITFB Group

Answer from AI

sobes.tech AI

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

Например, есть таблицы Students и Courses. Один студент может посещать много курсов, и один курс может иметь много студентов.

Создаётся таблица StudentCourses с двумя столбцами:

  • student_id — внешний ключ на Students
  • course_id — внешний ключ на Courses

Каждая запись в StudentCourses означает, что студент записан на курс.

Пример SQL:

CREATE TABLE Students (
  id INT PRIMARY KEY,
  name VARCHAR(100)
);

CREATE TABLE Courses (
  id INT PRIMARY KEY,
  title VARCHAR(100)
);

CREATE TABLE StudentCourses (
  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)
);