Sobes.tech
Назад к вопросам
Middle+
3

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

Компании, где спрашивали
Билайн

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

sobes.tech AI

Связь многие ко многим реализуется через промежуточную таблицу (join table) в базе данных, которая содержит пары идентификаторов связанных сущностей.

Например, есть сущности Студент и Курс. Один студент может посещать много курсов, и один курс может иметь много студентов.

Реализация в реляционной БД:

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

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

CREATE TABLE Student_Course (
  student_id INT,
  course_id INT,
  PRIMARY KEY (student_id, course_id),
  FOREIGN KEY (student_id) REFERENCES Student(id),
  FOREIGN KEY (course_id) REFERENCES Course(id)
);

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

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