Sobes.tech
Middle

Hogyan valósul meg, ha két táblád több-több kapcsolatban áll egymással?

sobes.tech MI

Válasz az MI-től

Отношение многие-ко-многим между двумя таблицами реализуется через создание промежуточной таблицы (часто называемой связующей или 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)
);

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