Sobes.tech
Back to questions
Middle
5

Если у тебя две таблицы имеют отношение многие-ко-многим, как это реализуется?

Companies where asked
Вкусно и точкаВкусно и точка

Answer from AI

sobes.tech AI

Отношение многие-ко-многим между двумя таблицами реализуется через создание промежуточной таблицы (часто называемой связующей или junction table). Эта таблица содержит внешние ключи, ссылающиеся на первичные ключи обеих исходных таблиц. Таким образом, каждая запись в первой таблице может быть связана с несколькими записями во второй, и наоборот.

Пример:

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

Создаем промежуточную таблицу StudentCourses с полями:

  • student_id (внешний ключ на Students)
  • course_id (внешний ключ на Courses)
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)
);

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