Back to questions
Junior — Middle
109
Каким образом в реляционной базе данных реализуется связка типа многие-ко-многим?
Answer from AI
sobes.tech AI
В реляционной базе данных связь многие-ко-многим реализуется через промежуточную (связующую) таблицу. Эта таблица содержит внешние ключи на обе связанные таблицы.
Например, есть таблицы students и courses. Один студент может быть записан на несколько курсов, и один курс может включать нескольких студентов. Для реализации связи создаётся таблица student_courses с двумя колонками: student_id и course_id, каждая из которых ссылается на соответствующую таблицу.
Пример структуры:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(100)
);
CREATE TABLE courses (
id INT PRIMARY KEY,
title VARCHAR(100)
);
CREATE TABLE student_courses (
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)
);
Таким образом, для каждой пары студент-курс создаётся отдельная запись в связующей таблице.