Отношение многие-ко-многим между двумя таблицами реализуется через создание промежуточной таблицы (часто называемой связующей или junction table). Эта таблица содержит внешние ключи, ссылающиеся на первичные ключи обеих исходных таблиц. Таким образом, каждая запись в первой таблице может быть связана с несколькими записями во второй, и наоборот.
С помощью чего можно сделать связь «многие ко многим» в реляционной базе данных?
Отношение многие-ко-многим между двумя таблицами реализуется через создание промежуточной таблицы (часто называемой связующей или junction table).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Отношение многие-ко-многим между двумя таблицами реализуется через создание промежуточной таблицы (часто называемой связующей или 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)
);
Таким образом, связь реализована через эту таблицу, которая хранит пары связанных записей.