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

Каким образом обычно осуществляется связь типа Many-to-Many в реляционной базе данных?

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

sobes.tech AI

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

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

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

Так можно эффективно хранить и запрашивать данные о связях Many-to-Many.

Пример схемы:

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