Sobes.tech
Back to questions
Middle+
2

Как технически реализуется связь многие-ко-многим?

Companies where asked
СБЕР AI

Answer from 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)
);

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