Sobes.tech
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)
);

Таким образом, для каждой пары студент-курс создаётся отдельная запись в связующей таблице.