В чем разница между видами взаимосвязей между сущностями

«В чем разница между видами взаимосвязей между сущностями» — вопрос из категории Базы данных, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В ER-моделировании есть 3 основных типа связей:

  1. Один-к-одному (1:1)
    Пример: Пользователь ↔ Паспорт (у одного пользователя один паспорт и наоборот)

  2. Один-ко-многим (1:N)
    Пример: Автор ↔ Книги (один автор может написать много книг)

  3. Многие-ко-многим (M:N)
    Требует промежуточную таблицу.
    Пример: Студенты ↔ Курсы (студенты могут посещать много курсов, курсы могут иметь много студентов)

-- Пример M:N связи
CREATE TABLE Student_Course (
    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)
);